作者 蔺文领

过滤不可见字符,添加主单号实时重复校验,修改其它bug。

@@ -7,14 +7,9 @@ @@ -7,14 +7,9 @@
7 <url>http://maven.apache.org</url> 7 <url>http://maven.apache.org</url>
8 <packaging>war</packaging> 8 <packaging>war</packaging>
9 <!-- 设定除中央仓库 (repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查询,如有Nexus私服, 取消注释并指向正确的服务器地址 --> 9 <!-- 设定除中央仓库 (repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查询,如有Nexus私服, 取消注释并指向正确的服务器地址 -->
10 - <!-- <repositories>  
11 - <repository>  
12 - <id>public</id>  
13 - <name>Public Repositories</name>  
14 - <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
15 -  
16 - </repository>  
17 - </repositories> --> 10 + <!-- <repositories> <repository> <id>public</id> <name>Public Repositories</name>
  11 + <url>http://maven.aliyun.com/nexus/content/groups/public</url> </repository>
  12 + </repositories> -->
18 13
19 <!-- 主要依赖库版本定义 --> 14 <!-- 主要依赖库版本定义 -->
20 <properties> 15 <properties>
@@ -381,11 +376,8 @@ @@ -381,11 +376,8 @@
381 </dependency> 376 </dependency>
382 377
383 <!-- velocity 模板 --> 378 <!-- velocity 模板 -->
384 - <!-- <dependency>  
385 - <groupId>org.apache.velocity</groupId>  
386 - <artifactId>velocity</artifactId>  
387 - <version>${velocity.version}</version>  
388 - </dependency> --> 379 + <!-- <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId>
  380 + <version>${velocity.version}</version> </dependency> -->
389 381
390 <dependency> 382 <dependency>
391 <groupId>org.apache.velocity</groupId> 383 <groupId>org.apache.velocity</groupId>
@@ -411,6 +403,27 @@ @@ -411,6 +403,27 @@
411 <version>1.9.7</version> 403 <version>1.9.7</version>
412 </dependency> 404 </dependency>
413 405
  406 + <dependency>
  407 + <groupId>javax.xml.bind</groupId>
  408 + <artifactId>jaxb-api</artifactId>
  409 + <version>2.3.0</version>
  410 + </dependency>
  411 + <dependency>
  412 + <groupId>com.sun.xml.bind</groupId>
  413 + <artifactId>jaxb-impl</artifactId>
  414 + <version>2.3.0</version>
  415 + </dependency>
  416 + <dependency>
  417 + <groupId>com.sun.xml.bind</groupId>
  418 + <artifactId>jaxb-core</artifactId>
  419 + <version>2.3.0</version>
  420 + </dependency>
  421 + <dependency>
  422 + <groupId>javax.activation</groupId>
  423 + <artifactId>activation</artifactId>
  424 + <version>1.1.1</version>
  425 + </dependency>
  426 +
414 </dependencies> 427 </dependencies>
415 428
416 <!-- 配置文件 --> 429 <!-- 配置文件 -->
@@ -142,8 +142,8 @@ public class ManifestController extends BasicController { @@ -142,8 +142,8 @@ public class ManifestController extends BasicController {
142 private BasicAgentEntity getAgent() { 142 private BasicAgentEntity getAgent() {
143 UserEntity user = Tools.getUserEntity(); 143 UserEntity user = Tools.getUserEntity();
144 long agent_id = user.getAgent(); 144 long agent_id = user.getAgent();
145 - System.err.println("agent_id-->"+agent_id);  
146 - 145 + System.err.println("agent_id-->" + agent_id);
  146 +
147 BasicAgentEntity agent = agentService.findOne(agent_id); 147 BasicAgentEntity agent = agentService.findOne(agent_id);
148 if (agent == null) { 148 if (agent == null) {
149 agent = new BasicAgentEntity(); 149 agent = new BasicAgentEntity();
@@ -158,9 +158,10 @@ public class ManifestController extends BasicController { @@ -158,9 +158,10 @@ public class ManifestController extends BasicController {
158 158
159 return agent; 159 return agent;
160 } 160 }
161 - 161 +
162 /** 162 /**
163 * 测试用,查看当前账号对应的代理人信息 163 * 测试用,查看当前账号对应的代理人信息
  164 + *
164 * @param reuqest 165 * @param reuqest
165 * @param response 166 * @param response
166 * @return 167 * @return
@@ -170,10 +171,32 @@ public class ManifestController extends BasicController { @@ -170,10 +171,32 @@ public class ManifestController extends BasicController {
170 public ResponseModel getAgentInfo(HttpServletRequest reuqest, HttpServletResponse response) { 171 public ResponseModel getAgentInfo(HttpServletRequest reuqest, HttpServletResponse response) {
171 ResponseModel model = new ResponseModel(); 172 ResponseModel model = new ResponseModel();
172 response.setHeader("Access-Control-Allow-Origin", "*"); 173 response.setHeader("Access-Control-Allow-Origin", "*");
173 - 174 +
174 BasicAgentEntity agent = getAgent(); 175 BasicAgentEntity agent = getAgent();
175 model.setData(agent); 176 model.setData(agent);
176 - 177 +
  178 + return model;
  179 + }
  180 +
  181 + @RequestMapping(value = "/checkRepeat", method = { RequestMethod.GET })
  182 + @ResponseBody
  183 + public ResponseModel checkRepeat(HttpServletRequest reuqest, HttpServletResponse response, int manifestId,
  184 + String manifest_no) {
  185 + ResponseModel model = new ResponseModel();
  186 + response.setHeader("Access-Control-Allow-Origin", "*");
  187 +
  188 + List<ManifestEntity> list = manifestService.findByManifestNo(manifest_no);
  189 + if (list == null || list.size() == 0) {
  190 + model.setStatus(200);
  191 + } else {
  192 + ManifestEntity firt = list.get(0);
  193 + if (firt.getId() != manifestId) {
  194 + model.setStatus(500);
  195 + model.setMsg("主单号不能重复");
  196 + } else {
  197 + model.setStatus(200);
  198 + }
  199 + }
177 return model; 200 return model;
178 } 201 }
179 202
@@ -1004,6 +1027,10 @@ public class ManifestController extends BasicController { @@ -1004,6 +1027,10 @@ public class ManifestController extends BasicController {
1004 String dlcPath = MessageKit.getMessagePath(MessageType.DLCF); 1027 String dlcPath = MessageKit.getMessagePath(MessageType.DLCF);
1005 String sliPath = MessageKit.getMessagePath(MessageType.SLI); 1028 String sliPath = MessageKit.getMessagePath(MessageType.SLI);
1006 1029
  1030 + manifest.setAgentcompany(getAgent().getNameCn());
  1031 + manifest.setAgentman(getAgent().getNameCn());
  1032 + manifest.setAgentcompanycode(getAgent().getThreeCode());
  1033 +
1007 new XmlBuildTask(manifestService.sendNDLRXml(manifest), ndlrPath).perform(); 1034 new XmlBuildTask(manifestService.sendNDLRXml(manifest), ndlrPath).perform();
1008 new XmlBuildTask(manifestService.sendDLCFXml(manifest), dlcPath).perform(); 1035 new XmlBuildTask(manifestService.sendDLCFXml(manifest), dlcPath).perform();
1009 new XmlBuildTask(FSXmlKit.sliXml(manifest, getAgent()), sliPath).perform(); 1036 new XmlBuildTask(FSXmlKit.sliXml(manifest, getAgent()), sliPath).perform();
@@ -1243,6 +1270,10 @@ public class ManifestController extends BasicController { @@ -1243,6 +1270,10 @@ public class ManifestController extends BasicController {
1243 String dlcPath = MessageKit.getMessagePath(MessageType.DLCF); 1270 String dlcPath = MessageKit.getMessagePath(MessageType.DLCF);
1244 String fhlPath = MessageKit.getMessagePath(MessageType.FHL); 1271 String fhlPath = MessageKit.getMessagePath(MessageType.FHL);
1245 1272
  1273 + preparesecondary.setAgentcompany(getAgent().getNameCn());
  1274 + preparesecondary.setAgentman(getAgent().getNameCn());
  1275 + preparesecondary.setAgentcompanycode(getAgent().getThreeCode());
  1276 +
1246 new XmlBuildTask(manifestService.presenddlcfNdlrXml(preparesecondary), ndlrPath).perform(); 1277 new XmlBuildTask(manifestService.presenddlcfNdlrXml(preparesecondary), ndlrPath).perform();
1247 new XmlBuildTask(manifestService.presenddlcfdlcfXml(preparesecondary), dlcPath).perform(); 1278 new XmlBuildTask(manifestService.presenddlcfdlcfXml(preparesecondary), dlcPath).perform();
1248 new XmlBuildTask(FSXmlKit.fhlXml(preparesecondary, getAgent()), fhlPath).perform(); 1279 new XmlBuildTask(FSXmlKit.fhlXml(preparesecondary, getAgent()), fhlPath).perform();
@@ -29,6 +29,7 @@ class XmlSendTask extends Thread { @@ -29,6 +29,7 @@ class XmlSendTask extends Thread {
29 public void run() { 29 public void run() {
30 long flag = -1; 30 long flag = -1;
31 if (!StringUtils.isEmpty(xml)) { 31 if (!StringUtils.isEmpty(xml)) {
  32 + xml = xml.replaceAll("[\\u0000-\\u001f]", "");
32 flag = jedis.lpush("task-queue", xml); 33 flag = jedis.lpush("task-queue", xml);
33 } 34 }
34 35
@@ -129,8 +129,8 @@ public class FSXmlKit { @@ -129,8 +129,8 @@ public class FSXmlKit {
129 sliMasterConsignment.setConsigneeParty(consigneeParty); 129 sliMasterConsignment.setConsigneeParty(consigneeParty);
130 130
131 FreightForwarderParty freightForwarderParty = new FreightForwarderParty(); 131 FreightForwarderParty freightForwarderParty = new FreightForwarderParty();
132 - freightForwarderParty.setPrimaryID(agent.getThreeCode());//代理人代码  
133 - freightForwarderParty.setName(agent.getThreeCode());//代理人名称 132 + freightForwarderParty.setPrimaryID("");
  133 + freightForwarderParty.setName(agent.getThreeCode());//代理人简称
134 PostalStructuredAddress agentdAddress = new PostalStructuredAddress(); 134 PostalStructuredAddress agentdAddress = new PostalStructuredAddress();
135 agentdAddress.setCityName(""); 135 agentdAddress.setCityName("");
136 agentdAddress.setCountryID(""); 136 agentdAddress.setCountryID("");
@@ -138,14 +138,20 @@ public class FSXmlKit { @@ -138,14 +138,20 @@ public class FSXmlKit {
138 sliMasterConsignment.setFreightForwarderParty(freightForwarderParty); 138 sliMasterConsignment.setFreightForwarderParty(freightForwarderParty);
139 139
140 AssociatedParty associatedParty = new AssociatedParty(); 140 AssociatedParty associatedParty = new AssociatedParty();
141 -  
142 - associatedParty.setPrimaryID(agent.getThreeCode());//代理人代码  
143 - associatedParty.setName(agent.getThreeCode());//代理人名称 141 + associatedParty.setPrimaryID("");
  142 + associatedParty.setName(agent.getThreeCode());//代理人简称
144 associatedParty.setAccountID("INFOSKY:NULL"); 143 associatedParty.setAccountID("INFOSKY:NULL");
145 associatedParty.setRoleCode("AGT"); 144 associatedParty.setRoleCode("AGT");
146 associatedParty.setRole("Agent"); 145 associatedParty.setRole("Agent");
147 associatedParty.setPostalStructuredAddress(agentdAddress); 146 associatedParty.setPostalStructuredAddress(agentdAddress);
148 sliMasterConsignment.setAssociatedParty(associatedParty); 147 sliMasterConsignment.setAssociatedParty(associatedParty);
  148 +
  149 + AssociatedParty associatedParty_ = new AssociatedParty();
  150 + associatedParty_.setName("CGOHA");
  151 + associatedParty_.setAccountID("INFOSKY:NULL");
  152 + associatedParty_.setRoleCode("GHA");
  153 + associatedParty_.setRole("Ground Handling Agent");
  154 + sliMasterConsignment.setAssociatedParty_(associatedParty_);
149 155
150 OriginLocation originLocation = new OriginLocation(); 156 OriginLocation originLocation = new OriginLocation();
151 originLocation.setID(me.getOriginatingstation()); 157 originLocation.setID(me.getOriginatingstation());
@@ -353,8 +359,8 @@ public class FSXmlKit { @@ -353,8 +359,8 @@ public class FSXmlKit {
353 includedHouseConsignment.setConsigneeParty(consigneeParty); 359 includedHouseConsignment.setConsigneeParty(consigneeParty);
354 360
355 FreightForwarderParty freightForwarderParty = new FreightForwarderParty(); 361 FreightForwarderParty freightForwarderParty = new FreightForwarderParty();
356 - freightForwarderParty.setPrimaryID(agent.getThreeCode());//代理人代码  
357 - freightForwarderParty.setName(agent.getThreeCode());//代理人名称 362 + freightForwarderParty.setPrimaryID("");
  363 + freightForwarderParty.setName(agent.getThreeCode());//代理人简称
358 364
359 PostalStructuredAddress agentdAddress = new PostalStructuredAddress(); 365 PostalStructuredAddress agentdAddress = new PostalStructuredAddress();
360 agentdAddress.setCityName(""); 366 agentdAddress.setCityName("");
@@ -363,13 +369,20 @@ public class FSXmlKit { @@ -363,13 +369,20 @@ public class FSXmlKit {
363 includedHouseConsignment.setFreightForwarderParty(freightForwarderParty); 369 includedHouseConsignment.setFreightForwarderParty(freightForwarderParty);
364 370
365 AssociatedParty associatedParty = new AssociatedParty(); 371 AssociatedParty associatedParty = new AssociatedParty();
366 - associatedParty.setPrimaryID(agent.getThreeCode());//代理人代码  
367 - associatedParty.setName(agent.getThreeCode());//代理人名称 372 + associatedParty.setPrimaryID("");
  373 + associatedParty.setName(agent.getThreeCode());//代理人简称
368 associatedParty.setAccountID("INFOSKY:NULL"); 374 associatedParty.setAccountID("INFOSKY:NULL");
369 associatedParty.setRoleCode("AGT"); 375 associatedParty.setRoleCode("AGT");
370 associatedParty.setRole("Agent"); 376 associatedParty.setRole("Agent");
371 associatedParty.setPostalStructuredAddress(agentdAddress); 377 associatedParty.setPostalStructuredAddress(agentdAddress);
372 includedHouseConsignment.setAssociatedParty(associatedParty); 378 includedHouseConsignment.setAssociatedParty(associatedParty);
  379 +
  380 + AssociatedParty associatedParty_ = new AssociatedParty();
  381 + associatedParty_.setName("CGOHA");
  382 + associatedParty_.setAccountID("INFOSKY:NULL");
  383 + associatedParty_.setRoleCode("GHA");
  384 + associatedParty_.setRole("Ground Handling Agent");
  385 + includedHouseConsignment.setAssociatedParty_(associatedParty_);
373 386
374 OriginLocation includeOriginLocation = new OriginLocation(); 387 OriginLocation includeOriginLocation = new OriginLocation();
375 includeOriginLocation.setID(pe.getOriginatingstation()); 388 includeOriginLocation.setID(pe.getOriginatingstation());
@@ -2,11 +2,9 @@ package com.agent.xml.fhlsli; @@ -2,11 +2,9 @@ package com.agent.xml.fhlsli;
2 2
3 import java.util.Date; 3 import java.util.Date;
4 4
5 -import com.agent.entity.Constant; 5 +import com.agent.entity.agent.BasicAgentEntity;
  6 +import com.agent.entity.agent.ManifestEntity;
6 import com.agent.xml.common.XmlUtil; 7 import com.agent.xml.common.XmlUtil;
7 -import com.agent.xml.fhlsli.fhl.HouseWaybill;  
8 -  
9 -import tools.NumKit;  
10 8
11 /** 9 /**
12 * Depiction: 10 * Depiction:
@@ -24,22 +22,15 @@ public class Test { @@ -24,22 +22,15 @@ public class Test {
24 } 22 }
25 23
26 public static void main(String[] args) { 24 public static void main(String[] args) {
27 - String no = "784-28567862";  
28 - String[] array = no.split("-");  
29 - String end = array[1];  
30 - int number = NumKit.parseInt(end);  
31 - int remainder = number / 10 % 7;  
32 - int last = number % 10;  
33 -  
34 - System.err.println("===================================");  
35 - System.err.println("remainder-->"+remainder);  
36 - System.err.println("last-->"+last);  
37 -  
38 - if (remainder == last) {  
39 - System.err.println(true);  
40 - } else {  
41 - System.err.println(false);  
42 - } 25 + ManifestEntity me = new ManifestEntity();
  26 + me.setStowagedate(new Date());
  27 + me.setFlightdate(new Date());
  28 + BasicAgentEntity agent = new BasicAgentEntity();
  29 + agent.setThreeCode("TXT");
  30 + agent.setNameCn("测试代理人");
  31 + SliCcs sli = FSXmlKit.sliXml(me, agent);
  32 + String xml = XmlUtil.convertToXml(sli);
  33 + System.err.println(xml);
43 } 34 }
44 35
45 } 36 }
@@ -26,9 +26,9 @@ public class AssociatedParty { @@ -26,9 +26,9 @@ public class AssociatedParty {
26 private String Name; 26 private String Name;
27 @XmlElement(name = "LegalID",required = false) 27 @XmlElement(name = "LegalID",required = false)
28 private String LegalID; 28 private String LegalID;
29 - @XmlElement(name = "RoleCode",required = false)  
30 - private String AccountID;  
31 @XmlElement(name = "AccountID",required = false) 29 @XmlElement(name = "AccountID",required = false)
  30 + private String AccountID;
  31 + @XmlElement(name = "RoleCode",required = false)
32 private String RoleCode; 32 private String RoleCode;
33 @XmlElement(name = "Role",required = false) 33 @XmlElement(name = "Role",required = false)
34 private String Role; 34 private String Role;
@@ -86,6 +86,8 @@ public class IncludedHouseConsignment { @@ -86,6 +86,8 @@ public class IncludedHouseConsignment {
86 private FreightForwarderParty FreightForwarderParty; 86 private FreightForwarderParty FreightForwarderParty;
87 @XmlElement(name = "AssociatedParty",required = false) 87 @XmlElement(name = "AssociatedParty",required = false)
88 private AssociatedParty AssociatedParty; 88 private AssociatedParty AssociatedParty;
  89 + @XmlElement(name = "AssociatedParty",required = false)
  90 + private AssociatedParty AssociatedParty_;
89 @XmlElement(name = "ApplicableTransportCargoInsurance",required = false) 91 @XmlElement(name = "ApplicableTransportCargoInsurance",required = false)
90 private ApplicableTransportCargoInsurance ApplicableTransportCargoInsurance; 92 private ApplicableTransportCargoInsurance ApplicableTransportCargoInsurance;
91 @XmlElement(name = "OriginLocation",required = false) 93 @XmlElement(name = "OriginLocation",required = false)
@@ -114,6 +116,15 @@ public class IncludedHouseConsignment { @@ -114,6 +116,15 @@ public class IncludedHouseConsignment {
114 private ApplicableLogisticsAllowanceCharge ApplicableLogisticsAllowanceCharge; 116 private ApplicableLogisticsAllowanceCharge ApplicableLogisticsAllowanceCharge;
115 @XmlElement(name = "IncludedHouseConsignmentItem",required = false) 117 @XmlElement(name = "IncludedHouseConsignmentItem",required = false)
116 private IncludedHouseConsignmentItem IncludedHouseConsignmentItem; 118 private IncludedHouseConsignmentItem IncludedHouseConsignmentItem;
  119 +
  120 +
  121 + public AssociatedParty getAssociatedParty_() {
  122 + return AssociatedParty_;
  123 + }
  124 +
  125 + public void setAssociatedParty_(AssociatedParty associatedParty_) {
  126 + AssociatedParty_ = associatedParty_;
  127 + }
117 128
118 public void setTransportContractDocument(TransportContractDocument TransportContractDocument) { 129 public void setTransportContractDocument(TransportContractDocument TransportContractDocument) {
119 this.TransportContractDocument = TransportContractDocument; 130 this.TransportContractDocument = TransportContractDocument;
@@ -69,6 +69,8 @@ public class SliMasterConsignment { @@ -69,6 +69,8 @@ public class SliMasterConsignment {
69 private FreightForwarderParty FreightForwarderParty; 69 private FreightForwarderParty FreightForwarderParty;
70 @XmlElement(name = "AssociatedParty",required = false) 70 @XmlElement(name = "AssociatedParty",required = false)
71 private AssociatedParty AssociatedParty; 71 private AssociatedParty AssociatedParty;
  72 + @XmlElement(name = "AssociatedParty",required = false)
  73 + private AssociatedParty AssociatedParty_;
72 @XmlElement(name = "OriginLocation",required = false) 74 @XmlElement(name = "OriginLocation",required = false)
73 private OriginLocation OriginLocation; 75 private OriginLocation OriginLocation;
74 @XmlElement(name = "FinalDestinationLocation",required = false) 76 @XmlElement(name = "FinalDestinationLocation",required = false)
@@ -85,6 +87,14 @@ public class SliMasterConsignment { @@ -85,6 +87,14 @@ public class SliMasterConsignment {
85 private IncludedMasterConsignmentItem IncludedMasterConsignmentItem; 87 private IncludedMasterConsignmentItem IncludedMasterConsignmentItem;
86 @XmlElement(name = "ReportedStatus",required = false) 88 @XmlElement(name = "ReportedStatus",required = false)
87 private ReportedStatus ReportedStatus; 89 private ReportedStatus ReportedStatus;
  90 +
  91 + public AssociatedParty getAssociatedParty_() {
  92 + return AssociatedParty_;
  93 + }
  94 +
  95 + public void setAssociatedParty_(AssociatedParty associatedParty_) {
  96 + AssociatedParty_ = associatedParty_;
  97 + }
88 98
89 public void setID(String ID) { 99 public void setID(String ID) {
90 this.ID = ID; 100 this.ID = ID;
@@ -1054,12 +1054,43 @@ $(function(){ @@ -1054,12 +1054,43 @@ $(function(){
1054 parent.layer.alert('主单号不符合模七校验,请修改~!', {icon: 6}); 1054 parent.layer.alert('主单号不符合模七校验,请修改~!', {icon: 6});
1055 $("#waybill").focus(); 1055 $("#waybill").focus();
1056 }); 1056 });
1057 - } 1057 + }else{
  1058 + //模七校验通过,校验是否有重复
  1059 + checkRepeatNo(content);
  1060 + }
1058 } 1061 }
1059 } 1062 }
1060 } 1063 }
1061 } 1064 }
1062 1065
  1066 + function checkRepeatNo(manifest_no){
  1067 + var manifestId = $("#id").val();
  1068 + if(!manifestId){
  1069 + manifestId = 0
  1070 + }
  1071 +
  1072 + console.log("manifestId-->"+manifestId);
  1073 +
  1074 + if(manifest_no){
  1075 + $.ajax({
  1076 + url:"<%=basePath%>/manifest/checkRepeat?manifest_no="+manifest_no+"&manifestId="+manifestId,
  1077 + success:function(data){
  1078 + if(data.status != 200){
  1079 + $("#waybill").val("");
  1080 + $("#waybill").focus();
  1081 +
  1082 + $("#waybillnomaster").val("")
  1083 +
  1084 + layui.use('layer', function(){
  1085 + var layer = layui.layer;
  1086 + parent.layer.alert('主单号不能重复,请重新输入', {icon: 6});
  1087 + });
  1088 + }
  1089 + }
  1090 + });
  1091 + }
  1092 + }
  1093 +
1063 </script> 1094 </script>
1064 </body> 1095 </body>
1065 </html> 1096 </html>