作者 朱兆平

进口提货运单放行指令提示优化

@@ -31,11 +31,7 @@ import java.io.InputStreamReader; @@ -31,11 +31,7 @@ import java.io.InputStreamReader;
31 import java.net.MalformedURLException; 31 import java.net.MalformedURLException;
32 import java.net.URL; 32 import java.net.URL;
33 import java.net.URLConnection; 33 import java.net.URLConnection;
34 -import java.text.DecimalFormat;  
35 -import java.text.NumberFormat;  
36 -import java.text.ParseException;  
37 import java.util.Date; 34 import java.util.Date;
38 -import java.util.HashMap;  
39 import java.util.List; 35 import java.util.List;
40 import java.util.Map; 36 import java.util.Map;
41 37
@@ -220,7 +216,7 @@ public class LiftBar { @@ -220,7 +216,7 @@ public class LiftBar {
220 if (logic.weightCheckHandleService.checkImportDlv(growssWt, Double.parseDouble(ve.getSelfWt()), goodsWt,inWt)){ 216 if (logic.weightCheckHandleService.checkImportDlv(growssWt, Double.parseDouble(ve.getSelfWt()), goodsWt,inWt)){
221 checkResult=true; 217 checkResult=true;
222 //检查运单放行 218 //检查运单放行
223 - if (logic.resMessageService.checkManifestRelease(list.getMasterList())){ 219 + if (logic.resMessageService.checkManifestRelease(info,list.getMasterList())){
224 checkResult=true; 220 checkResult=true;
225 }else { 221 }else {
226 //有运单未放行 222 //有运单未放行
@@ -257,7 +253,7 @@ public class LiftBar { @@ -257,7 +253,7 @@ public class LiftBar {
257 if (logic.weightCheckHandleService.checkAllocateOrDispatch(growssWt, Double.parseDouble(ve.getSelfWt()), goodsWt,inWt)){ 253 if (logic.weightCheckHandleService.checkAllocateOrDispatch(growssWt, Double.parseDouble(ve.getSelfWt()), goodsWt,inWt)){
258 checkResult=true; 254 checkResult=true;
259 //检查运单放行 255 //检查运单放行
260 - if (logic.resMessageService.checkManifestRelease(list.getMasterList())){ 256 + if (logic.resMessageService.checkManifestRelease(info,list.getMasterList())){
261 checkResult=true; 257 checkResult=true;
262 }else { 258 }else {
263 //有运单未放行 259 //有运单未放行
1 package com.sy.service; 1 package com.sy.service;
2 2
  3 +import com.sy.model.GatherInfo;
3 import com.sy.model.RESMESSAGE; 4 import com.sy.model.RESMESSAGE;
4 5
5 import java.util.List; 6 import java.util.List;
@@ -20,5 +21,5 @@ public interface ResMessageService { @@ -20,5 +21,5 @@ public interface ResMessageService {
20 * @param manifestList 运单号数组字符串 格式为"'69515289724','40692420145','17233862076'" 21 * @param manifestList 运单号数组字符串 格式为"'69515289724','40692420145','17233862076'"
21 * @return 全部放行 返回true 未全部放行返回false 22 * @return 全部放行 返回true 未全部放行返回false
22 */ 23 */
23 - boolean checkManifestRelease(String manifestList); 24 + boolean checkManifestRelease(GatherInfo info, String manifestList);
24 } 25 }
1 package com.sy.service.impl; 1 package com.sy.service.impl;
2 2
3 -import com.sy.logic.LiftBar;  
4 import com.sy.mapper.RESMESSAGEMapper; 3 import com.sy.mapper.RESMESSAGEMapper;
  4 +import com.sy.model.GatherInfo;
5 import com.sy.model.RESMESSAGE; 5 import com.sy.model.RESMESSAGE;
6 import com.sy.service.ResMessageService; 6 import com.sy.service.ResMessageService;
  7 +import com.sy.socket.CommandClient;
7 import org.apache.log4j.Logger; 8 import org.apache.log4j.Logger;
8 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Service; 10 import org.springframework.stereotype.Service;
10 11
  12 +import java.util.Arrays;
11 import java.util.List; 13 import java.util.List;
  14 +import java.util.Vector;
12 15
13 /** 16 /**
14 * @author 17 * @author
@@ -17,7 +20,8 @@ import java.util.List; @@ -17,7 +20,8 @@ import java.util.List;
17 @Service 20 @Service
18 public class ResMessageServiceImpl implements ResMessageService { 21 public class ResMessageServiceImpl implements ResMessageService {
19 private static final Logger logger = Logger.getLogger(ResMessageServiceImpl.class); 22 private static final Logger logger = Logger.getLogger(ResMessageServiceImpl.class);
20 - 23 + private static String FANGXING="-等运单未放行";
  24 + private static String AWB_EMPTY="未申请装载运单";
21 @Autowired 25 @Autowired
22 private RESMESSAGEMapper mapper; 26 private RESMESSAGEMapper mapper;
23 27
@@ -38,13 +42,13 @@ public class ResMessageServiceImpl implements ResMessageService { @@ -38,13 +42,13 @@ public class ResMessageServiceImpl implements ResMessageService {
38 } 42 }
39 43
40 @Override 44 @Override
41 - public boolean checkManifestRelease(String manifestList) { 45 + public boolean checkManifestRelease(GatherInfo info,String manifestList) {
  46 + List<String> noRelease = new Vector<>();
42 if (manifestList.length() < 1) { 47 if (manifestList.length() < 1) {
  48 + CommandClient.Client(info, AWB_EMPTY);
43 return false; 49 return false;
44 } 50 }
45 - manifestList = manifestList.replace("-", "");  
46 - //中文逗号替换  
47 - manifestList = manifestList.replace(",", ","); 51 + manifestList = manifestList.replace("-", "").replace(",", ",");
48 String[] maifest = manifestList.split(","); 52 String[] maifest = manifestList.split(",");
49 logger.info("运单列表:" + manifestList); 53 logger.info("运单列表:" + manifestList);
50 boolean flag = false; 54 boolean flag = false;
@@ -53,6 +57,22 @@ public class ResMessageServiceImpl implements ResMessageService { @@ -53,6 +57,22 @@ public class ResMessageServiceImpl implements ResMessageService {
53 57
54 if (list.size() == maifest.length) { 58 if (list.size() == maifest.length) {
55 flag = true; 59 flag = true;
  60 + }else{
  61 + //返回未放行的运单列表
  62 + if (maifest.length>0){
  63 + for (String awb : maifest) {
  64 + boolean anyMatch = list.stream().anyMatch(resmessage -> {
  65 + return resmessage.getManifest().equals(awb);
  66 + });
  67 + if (!anyMatch){
  68 + noRelease.add(awb);
  69 + }
  70 + }
  71 + if (!noRelease.isEmpty()) {
  72 + logger.info(Arrays.toString(noRelease.toArray())+FANGXING);
  73 + CommandClient.Client(info, Arrays.toString(noRelease.toArray())+FANGXING);
  74 + }
  75 + }
56 } 76 }
57 return flag; 77 return flag;
58 } 78 }
@@ -3,7 +3,8 @@ package com.sy.service.impl; @@ -3,7 +3,8 @@ package com.sy.service.impl;
3 import com.sy.logic.LiftBar; 3 import com.sy.logic.LiftBar;
4 import com.sy.service.WeightCheckHandleService; 4 import com.sy.service.WeightCheckHandleService;
5 import com.sy.utils.FileTool; 5 import com.sy.utils.FileTool;
6 -import org.apache.log4j.Logger; 6 +import org.slf4j.Logger;
  7 +import org.slf4j.LoggerFactory;
7 import org.springframework.stereotype.Service; 8 import org.springframework.stereotype.Service;
8 9
9 import java.text.DecimalFormat; 10 import java.text.DecimalFormat;
@@ -12,8 +13,7 @@ import java.text.ParseException; @@ -12,8 +13,7 @@ import java.text.ParseException;
12 13
13 @Service 14 @Service
14 public class WeightCheckHandleServiceImpl implements WeightCheckHandleService { 15 public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
15 -  
16 - private static final Logger logger = Logger.getLogger(WeightCheckHandleServiceImpl.class); 16 + private static final Logger logger = LoggerFactory.getLogger(LiftBar.class);
17 17
18 //从配置文件中读取货物重差可控范围 18 //从配置文件中读取货物重差可控范围
19 private static String checkWt = FileTool.readProperties("grossWt"); 19 private static String checkWt = FileTool.readProperties("grossWt");
@@ -73,9 +73,10 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService { @@ -73,9 +73,10 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
73 double result2= 0.0; 73 double result2= 0.0;
74 if(Double.doubleToLongBits(grossWt)>Double.doubleToLongBits(0)){ 74 if(Double.doubleToLongBits(grossWt)>Double.doubleToLongBits(0)){
75 result = Double.parseDouble(df.format(Math.abs((inWt - goodsWt - grossWt)) / grossWt)); 75 result = Double.parseDouble(df.format(Math.abs((inWt - goodsWt - grossWt)) / grossWt));
76 - System.out.println("进出场比对差值:"+result); 76 +
77 result2 = Double.parseDouble(df.format(Math.abs((grossWt-wt)) / grossWt)); 77 result2 = Double.parseDouble(df.format(Math.abs((grossWt-wt)) / grossWt));
78 - System.out.println("空车出场差值:"+result2); 78 +
  79 + logger.info("[WEIGHT-CHECK]-进出场比对差值:{},空车出场差值:{},进出场比对重量差:{},空车比对重量差:{}",result,result2,Math.abs(inWt - goodsWt - grossWt),Math.abs(grossWt-wt));
79 } 80 }
80 double range = valueDob(); 81 double range = valueDob();
81 if (result <= range || result2 <= range) { 82 if (result <= range || result2 <= range) {
@@ -117,8 +118,8 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService { @@ -117,8 +118,8 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
117 result1 = Double.parseDouble(df.format(Math.abs((wt + goodsWt - grossWt)) / grossWt)); 118 result1 = Double.parseDouble(df.format(Math.abs((wt + goodsWt - grossWt)) / grossWt));
118 } 119 }
119 double range = valueDob(); 120 double range = valueDob();
120 - System.out.println("进出场差值:"+result);  
121 - System.out.println("提货离场差值:"+result1); 121 + logger.info("[WEIGHT-CHECK]-进出场比对差值:{},提货离场差值:{},进出场比对重量差:{}",result,result1,Math.abs(inWt - grossWt));
  122 +
122 123
123 if (result <= range) { 124 if (result <= range) {
124 125
@@ -148,7 +149,7 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService { @@ -148,7 +149,7 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
148 */ 149 */
149 @Override 150 @Override
150 public boolean checkAllocateOrDispatch(double grossWt, double wt, double goodsWt,double inWt){ 151 public boolean checkAllocateOrDispatch(double grossWt, double wt, double goodsWt,double inWt){
151 - //todo:调拨分拨中的第二.三...场站的如卡口判断 都应该以带货入场进行判定.离场都应该空车进行判定. 152 + //todo:调拨分拨中的第二.三...场站的如卡口判断 都应该以带货入场进行判定.离场都应该空车进行判定.
152 DecimalFormat df = new DecimalFormat("0.00"); 153 DecimalFormat df = new DecimalFormat("0.00");
153 boolean flag = false; 154 boolean flag = false;
154 //载货离场判定 155 //载货离场判定
@@ -27,7 +27,7 @@ class ResMessageServiceImplTest { @@ -27,7 +27,7 @@ class ResMessageServiceImplTest {
27 27
28 @Test 28 @Test
29 void checkManifestRelease() { 29 void checkManifestRelease() {
30 - boolean re = resMessageService.checkManifestRelease("157-55140831,157-55140853,157-55140724,157-76344026"); 30 + boolean re = resMessageService.checkManifestRelease(null,"157-55140831,157-55140853,157-55140724,157-76344026,157-76344022");
31 logger.info("结果:"+re); 31 logger.info("结果:"+re);
32 } 32 }
33 } 33 }