作者 zhangFan

add veManifestRealtion

... ... @@ -14,15 +14,15 @@ spring.mvc.view.suffix=/WEB-INF/jsp/
#\u6620\u5C04\u540E\u7F00
spring.mvc.view.prefix=.jsp
#\u8BBE\u7F6E\u672C\u5730\u6570\u636E\u6E90
#spring.datasource.username=root
#spring.datasource.password=root
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/station?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai
#\u8BBE\u7F6E\u7EBF\u4E0A\u6570\u636E\u6E90
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/station?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai
spring.datasource.username=station
spring.datasource.password=station@10.50.7.70
#\u8BBE\u7F6E\u7EBF\u4E0A\u6570\u636E\u6E90
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/station?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai
#spring.datasource.username=station
#spring.datasource.password=station@10.50.7.70
#\u8FDE\u63A5\u6C60\u7C7B
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#\u8FDE\u63A5\u6C60\u914D\u7F6E\uFF0C\u56E0\u4E3Aspringboot\u9ED8\u8BA4\u662F\u5F00\u542F\u4E86\u8FDE\u63A5\u6C60\u7684\uFF0C\u5B83\u6709\u9ED8\u8BA4\u914D\u7F6E\uFF0C\u8FD9\u4E00\u6BB5\u53EF\u4EE5\u5FFD\u7565
... ... @@ -58,4 +58,4 @@ mybatis.configuration.map-underscore-to-camel-case=true
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql
\ No newline at end of file
pagehelper.params=count=countSql
... ...
#\u767B\u5F55\u8D26\u53F7
loginname = KKW1
loginname = KAOR
#\u5361\u53E3\u6570\u636E\u63A5\u6536KKW1\uFF0C\u5361\u53E3\u53D1\u9001\u6570\u636EKAKO\uFF0C\u653E\u884C\u62A5\u6587 KKFX
#\u767B\u5F55\u5BC6\u7801
loginpass = KKW1
loginpass=KAOR
#\u53D1\u9001\u62A5\u6587\u76EE\u5F55,\u76F8\u5BF9\u7A0B\u5E8F\u76EE\u5F55
readDirectory = D:/bw/sendDirectory
sendDirectory=D:/bw/sendDirectory
#\u63A5\u6536\u5B58\u50A8\u62A5\u6587\u76EE\u5F55
bakDirectory = D:/bw/receiveDirectory
receiveDirectory=D:/bw/receiveDirectory
#\u8F66\u5355\u5173\u7CFB\u62A5\u6587\u76EE\u5F55
veManifestDirectory=D:/bw/veManifestDirectory
#IMF MEAT\u62A5\u5934\u914D\u7F6E
RCVR=
TYPE=KAKO
TYPE=KAOR
STYP=CARM
#\u8F7D\u91CD\u4E0E\u79F0\u91CD\u7684\u53EF\u63A7\u8303\u56F4 ?%
... ...
此 diff 太大无法显示。
... ... @@ -413,13 +413,6 @@
<artifactId>httpclient</artifactId>
<version>4.5.5</version>
</dependency>
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.0.M1</version>
</dependency>
-->
</dependencies>
... ...
... ... @@ -7,6 +7,8 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
//不连接数据库开启服务
//@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
//@EnableEurekaClient
@MapperScan(value = "com.sy.mapper")
public class AnalysisImfApplication {
... ...
... ... @@ -26,21 +26,27 @@ public class IMF_Tesk {
if (client != null) {
/**
* 从IMF接收报文
*/
if (!KAKO_Reader.isrunning) {
KAKO_Reader kako_reader = new KAKO_Reader(client);
kako_reader.start();
logger.info("*********KAKO读取线程已开启***********");
logger.info("*********读取线程已开启***********");
} else {
logger.info("*********KAKO读取线程已开启-不再启动线程*********");
logger.info("*********读取线程已开启-不再启动线程*********");
}
/* if(!KAKO_Sender.isrunning){
KAKO_Sender kako_sender = new KAKO_Sender(client);
kako_sender.start();
logger.info("<<<<<<<<<KAKO发送线程已开启>>>>>>>>>>>>");
}else {
logger.info("<<<<<<<<<KAKO发送线程已开启-不再启动线程>>>>>>>>>>>>");
}*/
/**
* 往IMF发送报文
*/
// if(!KAKO_Sender.isrunning){
// KAKO_Sender kako_sender = new KAKO_Sender(client);
// kako_sender.start();
// logger.info("<<<<<<<<<KAKO发送线程已开启>>>>>>>>>>>>");
// }else {
// logger.info("<<<<<<<<<KAKO发送线程已开启-不再启动线程>>>>>>>>>>>>");
// }
}
if (!LOGIN_OK){
... ...
... ... @@ -23,6 +23,9 @@ public class KAKO_Reader extends Thread{
if (message != null) {
// logger.info(message);
AnalysisRoute.analysis(message);
// if(message.indexOf("<TYPE>CARM</TYPE>") > 0){
// this.client.sendMSG();
// }
}
}
else {
... ...
... ... @@ -26,13 +26,13 @@ public class KAKO_Sender extends Thread{
public void run(){
try {
String sendDir = FileTool.readProperties("readDirectory");
String sendDir = FileTool.readProperties("sendDirectory");
String SNDR = FileTool.readProperties("loginname");
String TYPE = FileTool.readProperties("TYPE");
String STYP = FileTool.readProperties("STYP");
String RCVR = FileTool.readProperties("RCVR");
String DDTM = DateTimeConverter.dateFormat();
String SEQN = DDTM;
// String DDTM = new DateTimeConverter().dateFormat();
// String SEQN = DDTM;
if (this.client == null) {
logger.info("IMFClient has been closed");
... ... @@ -44,7 +44,7 @@ public class KAKO_Sender extends Thread{
List<File> files = FileTool.readDirectoryFiles(new File(sendDir));
for (File file:files) {
String fileContent = FileTool.readfile(file);
String sendMsg = MakeImfMeta.makeImfDocument(SNDR,RCVR,TYPE,STYP,DDTM,SEQN,fileContent);
String sendMsg = MakeImfMeta.makeImfDocument(SNDR,RCVR,TYPE,STYP,new DateTimeConverter().dateFormat(),new DateTimeConverter().dateFormat(),fileContent);
String returnMsg = this.client.sendMSG(sendMsg);
//发送成功处理,删除已发送成功的目录下的文件
if(returnMsg.indexOf("<CODE>9</CODE>")>=0){
... ...
... ... @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.sy.crossDomain.buildBarCode;
import com.sy.model.*;
import com.sy.relation.VeManifestRelation;
import com.sy.service.EnterCancelServer;
import com.sy.service.LandBusListService;
import com.sy.service.LandRoadVeService;
... ... @@ -150,24 +151,24 @@ public class LogicOperation {
}
if (list.getBusinesstype().endsWith("业务")) {
if (list.getMasterList().length() > 0) {
if ("E".equals(list.getTurnoverflag())) {
if ("I".equals(typeLists.get(i).getTurnoverflag()) && typeLists.get(i).getContrastflag() != null) {
selfWt = typeLists.get(i).getAislewt() > 1 ? typeLists.get(i).getAislewt() : selfWt;
break;
if (list.getMasterList().length() > 0) {
if ("E".equals(list.getTurnoverflag())) {
if ("I".equals(typeLists.get(i).getTurnoverflag()) && typeLists.get(i).getContrastflag() != null) {
selfWt = typeLists.get(i).getAislewt() > 1 ? typeLists.get(i).getAislewt() : selfWt;
break;
}
}
}
if ("I".equals(list.getTurnoverflag())) {
if ("E".equals(typeLists.get(i).getTurnoverflag()) && typeLists.get(i).getContrastflag() != null) {
if (!logic.checkFlag(growssWt, typeLists.get(i).getAislewt())) {
logger.info("-------->>>>>>>>出起始场站的重量和进目的场站的总量不一致<<<<<<<<--------");
CommandClient.Client(info, ERRORWT);
return result;
if ("I".equals(list.getTurnoverflag())) {
if ("E".equals(typeLists.get(i).getTurnoverflag()) && typeLists.get(i).getContrastflag() != null) {
if (!logic.checkFlag(growssWt, typeLists.get(i).getAislewt())) {
logger.info("-------->>>>>>>>出起始场站的重量和进目的场站的总量不一致<<<<<<<<--------");
CommandClient.Client(info, ERRORWT);
return result;
}
}
}
}
}
}
}
}
... ... @@ -181,6 +182,9 @@ public class LogicOperation {
checkResult = check || checkMainfest;
}
if("查验货".equals(list.getCocode())){
checkResult = true;
}
//宽进
if ("I".equals(info.getIetype())) {
if (check == false && checkResult == false) {
... ... @@ -240,6 +244,12 @@ public class LogicOperation {
}
result = true;
}
if(list.getMasterList().length()>0){
boolean flag = VeManifestRelation.createFile(list);
if(flag){
logger.info(">>>>>>>>>>-----车单关系报文生成成功-----<<<<<<<<<<<<");
}
}
} else {
sendError(info);
logger.error("------->>>>>>>二维码数据异常,请使用正确的二维码数据<<<<<<<-----");
... ... @@ -309,7 +319,7 @@ public class LogicOperation {
if (!(waybill.indexOf("-") != -1)) {
waybill = waybill.substring(0, 3) + "-" + waybill.substring(3);
}
String url = "http://10.50.3.64:8080/tj/orig/orig?waybill=" + waybill + "&imp=" + imp;
String url = "http://10.50.3.82:8081/orig/orig?waybill=" + waybill + "&imp=" + imp;
// String url = "http://tjfx.15miaoo.com:8003/tj/orig/orig?waybill=" + waybill + "&imp=" + imp;
StringBuilder json = new StringBuilder();
Map map = null;
... ...
package com.sy.relation;
import com.sy.model.LandBusinessTypeList;
import com.sy.utils.DateTimeConverter;
import com.sy.utils.FileTool;
import java.io.FileWriter;
import java.io.IOException;
/**
* @author
* @time 2019-08-07 10:10
* @Desc 车与主单关系报文
*/
public class VeManifestRelation {
private static String veManifestDirectory = FileTool.readProperties("veManifestDirectory");
public static boolean createFile(LandBusinessTypeList landBusinessTypeList){
boolean flag = false;
FileWriter fileWriter;
try {
fileWriter = new FileWriter(veManifestDirectory+new DateTimeConverter().dateFormat()+".xml");
fileWriter.write(new VeManifestRelation().getMsg(landBusinessTypeList));
fileWriter.flush();
fileWriter.close();
flag = true;
}catch (IOException e){
e.printStackTrace();
}
return flag;
}
/**
* 生成车单报文
* @param landBusinessTypeList
* @return
*/
public String getMsg(LandBusinessTypeList landBusinessTypeList){
StringBuffer buffer = new StringBuffer();
buffer.append("<CONTENT>");
buffer.append("<VENAME>"+"</VENAME>");
buffer.append("<MANIFESTS>");
String [] manifests = getManifests(landBusinessTypeList.getMasterList());
for (String manifest : manifests){
buffer.append("<MANIFEST>"+manifest+"</MANIFEST>");
}
buffer.append("</MANIFESTS>");
buffer.append("<STATION>"+landBusinessTypeList.getEndstation()+"</STATION>");
buffer.append("<ASILE>"+landBusinessTypeList.getAisle()+"</ASILE>");
buffer.append("<TYPE>"+landBusinessTypeList.getBusinesstype()+"</TYPE>");
buffer.append("<OPTM>"+new DateTimeConverter().dateFormat() +"</OPTM>");
return buffer.toString();
}
public String [] getManifests(String manifest){
return manifest.split(",");
}
}
... ...
... ... @@ -9,7 +9,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeConverter extends AbstractSingleValueConverter {
private static final DateFormat DATE = new SimpleDateFormat("yyyy-MM-dd");
private static final DateFormat DATETIME = new SimpleDateFormat("yyyyMMddHHmmss");
private static final DateFormat DATETIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
... ... @@ -20,7 +20,7 @@ public class DateTimeConverter extends AbstractSingleValueConverter {
public boolean canConvert(Class type) {
return type.equals(Date.class);
}
public Object fromString(String str) {
try {
if(str.length()>0) {
... ... @@ -48,18 +48,16 @@ public class DateTimeConverter extends AbstractSingleValueConverter {
}
throw new ConversionException("Cannot parse date " + str);
}
public static String getFormat() {
return dateFormat.format(new Date());
}
public static String dateFormat() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
return simpleDateFormat.format(new Date());
public String dateFormat() {
return dateFormat.format(new Date());
}
public static String dateTimeFormat() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(new Date());
public String dateTimeFormat() {
return DATETIME_FORMAT.format(new Date());
}
public static String getDay() {
return date.format(new Date());
... ...
... ... @@ -65,7 +65,7 @@ public final class FileTool {
}
public static void writeFileToBak(String content){
String bakDir = readProperties("bakDirectory");
String bakDir = readProperties("receiveDirectory");
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(bakDir).append("/").append(UUIDCreate.getUUID()).append(".txt");
... ...
... ... @@ -74,8 +74,13 @@
<!-- <table tableName="ResMessage" domainObjectName="RESMESSAGE" enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
<table tableName="entercancel" domainObjectName="ENTERCANCCEL" enableCountByExample="false"
<!-- <table tableName="entercancel" domainObjectName="ENTERCANCCEL" enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
</table>-->
<table tableName="t_air_repertory" domainObjectName="T_AIR_REPERTORY" enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
\ No newline at end of file
... ...
... ... @@ -35,14 +35,14 @@
<result column="REMARK2" jdbcType="VARCHAR" property="remark2" />
</resultMap>
<sql id="Base_Column_List">
id, MASSAGE_ID, TRAILER_FRAME_NO, TRAILER_LICENSE_NO, MASTER_LIST, PRODECT_TIME,
IS_DELETE, AGENTNO, AGENTNAME, COCODE, DRIVERNAME, DRIVERID, STARTPORT, ENDPORT,
STARTSATATION, ENDSTATION, AISLE, BUSINESSTYPE, TURNOVERFLAG, BARCODE, CONTRASTFLAG,
CREATE_BY, CREATE_DATE, UPDATE_BY, UPDATE_DATE, ISVALID, AISLEWT, ISFULL, REMARK,
id, MASSAGE_ID, TRAILER_FRAME_NO, TRAILER_LICENSE_NO, MASTER_LIST, PRODECT_TIME,
IS_DELETE, AGENTNO, AGENTNAME, COCODE, DRIVERNAME, DRIVERID, STARTPORT, ENDPORT,
STARTSATATION, ENDSTATION, AISLE, BUSINESSTYPE, TURNOVERFLAG, BARCODE, CONTRASTFLAG,
CREATE_BY, CREATE_DATE, UPDATE_BY, UPDATE_DATE, ISVALID, AISLEWT, ISFULL, REMARK,
REMARK1, REMARK2
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
select
<include refid="Base_Column_List" />
from land_businesstype_list
where id = #{id,jdbcType=VARCHAR}
... ... @@ -70,7 +70,7 @@
select
<include refid="Base_Column_List" />
from land_businesstype_list
where BARCODE = #{barcode,jdbcType=VARCHAR}
where BARCODE = #{barcode,jdbcType=VARCHAR} AND ISVALID = "0"
</select>
<select id="selectMessageId" parameterType="java.lang.String" resultMap="BaseResultMap">
... ... @@ -88,27 +88,27 @@
where id = #{id,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.sy.model.LandBusinessTypeList">
insert into land_businesstype_list (id, MASSAGE_ID, TRAILER_FRAME_NO,
TRAILER_LICENSE_NO, MASTER_LIST, PRODECT_TIME,
IS_DELETE, AGENTNO, AGENTNAME,
COCODE, DRIVERNAME, DRIVERID,
STARTPORT, ENDPORT, STARTSATATION,
ENDSTATION, AISLE, BUSINESSTYPE,
TURNOVERFLAG, BARCODE, CONTRASTFLAG,
CREATE_BY, CREATE_DATE, UPDATE_BY,
UPDATE_DATE, ISVALID, AISLEWT,
ISFULL, REMARK, REMARK1,
insert into land_businesstype_list (id, MASSAGE_ID, TRAILER_FRAME_NO,
TRAILER_LICENSE_NO, MASTER_LIST, PRODECT_TIME,
IS_DELETE, AGENTNO, AGENTNAME,
COCODE, DRIVERNAME, DRIVERID,
STARTPORT, ENDPORT, STARTSATATION,
ENDSTATION, AISLE, BUSINESSTYPE,
TURNOVERFLAG, BARCODE, CONTRASTFLAG,
CREATE_BY, CREATE_DATE, UPDATE_BY,
UPDATE_DATE, ISVALID, AISLEWT,
ISFULL, REMARK, REMARK1,
REMARK2)
values (#{id,jdbcType=VARCHAR}, #{massageId,jdbcType=VARCHAR}, #{trailerFrameNo,jdbcType=VARCHAR},
#{trailerLicenseNo,jdbcType=VARCHAR}, #{masterList,jdbcType=VARCHAR}, #{prodectTime,jdbcType=TIMESTAMP},
#{isDelete,jdbcType=VARCHAR}, #{agentno,jdbcType=VARCHAR}, #{agentname,jdbcType=VARCHAR},
#{cocode,jdbcType=VARCHAR}, #{drivername,jdbcType=VARCHAR}, #{driverid,jdbcType=VARCHAR},
#{startport,jdbcType=VARCHAR}, #{endport,jdbcType=VARCHAR}, #{startsatation,jdbcType=VARCHAR},
#{endstation,jdbcType=VARCHAR}, #{aisle,jdbcType=VARCHAR}, #{businesstype,jdbcType=VARCHAR},
#{turnoverflag,jdbcType=VARCHAR}, #{barcode,jdbcType=VARCHAR}, #{contrastflag,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR},
#{updateDate,jdbcType=TIMESTAMP}, #{isvalid,jdbcType=VARCHAR}, #{aislewt,jdbcType=DOUBLE},
#{isfull,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{remark1,jdbcType=VARCHAR},
values (#{id,jdbcType=VARCHAR}, #{massageId,jdbcType=VARCHAR}, #{trailerFrameNo,jdbcType=VARCHAR},
#{trailerLicenseNo,jdbcType=VARCHAR}, #{masterList,jdbcType=VARCHAR}, #{prodectTime,jdbcType=TIMESTAMP},
#{isDelete,jdbcType=VARCHAR}, #{agentno,jdbcType=VARCHAR}, #{agentname,jdbcType=VARCHAR},
#{cocode,jdbcType=VARCHAR}, #{drivername,jdbcType=VARCHAR}, #{driverid,jdbcType=VARCHAR},
#{startport,jdbcType=VARCHAR}, #{endport,jdbcType=VARCHAR}, #{startsatation,jdbcType=VARCHAR},
#{endstation,jdbcType=VARCHAR}, #{aisle,jdbcType=VARCHAR}, #{businesstype,jdbcType=VARCHAR},
#{turnoverflag,jdbcType=VARCHAR}, #{barcode,jdbcType=VARCHAR}, #{contrastflag,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR},
#{updateDate,jdbcType=TIMESTAMP}, #{isvalid,jdbcType=VARCHAR}, #{aislewt,jdbcType=DOUBLE},
#{isfull,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{remark1,jdbcType=VARCHAR},
#{remark2,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.sy.model.LandBusinessTypeList">
... ... @@ -434,4 +434,4 @@
REMARK2 = #{remark2,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
</mapper>
... ...