正在显示
15 个修改的文件
包含
275 行增加
和
86 行删除
| @@ -96,6 +96,12 @@ | @@ -96,6 +96,12 @@ | ||
| 96 | <version>1.2.47</version> | 96 | <version>1.2.47</version> |
| 97 | </dependency> | 97 | </dependency> |
| 98 | 98 | ||
| 99 | + <!-- 二维码 --> | ||
| 100 | + <dependency> | ||
| 101 | + <groupId>com.google.zxing</groupId> | ||
| 102 | + <artifactId>core</artifactId> | ||
| 103 | + <version>3.3.0</version> | ||
| 104 | + </dependency> | ||
| 99 | 105 | ||
| 100 | <!--IMF need jar--> | 106 | <!--IMF need jar--> |
| 101 | <dependency> | 107 | <dependency> |
| @@ -22,8 +22,7 @@ public class KAKO_Reader extends Thread{ | @@ -22,8 +22,7 @@ public class KAKO_Reader extends Thread{ | ||
| 22 | String message = this.client.getMSG(); | 22 | String message = this.client.getMSG(); |
| 23 | if (message != null) { | 23 | if (message != null) { |
| 24 | logger.info(message); | 24 | logger.info(message); |
| 25 | - AnalysisRoute route = new AnalysisRoute(); | ||
| 26 | - route.analysis(message); | 25 | + AnalysisRoute.analysis(message); |
| 27 | } | 26 | } |
| 28 | } | 27 | } |
| 29 | else { | 28 | else { |
| @@ -32,6 +32,9 @@ public class AnalysisRoute { | @@ -32,6 +32,9 @@ public class AnalysisRoute { | ||
| 32 | @Autowired | 32 | @Autowired |
| 33 | private CommandInfoService commandService; | 33 | private CommandInfoService commandService; |
| 34 | 34 | ||
| 35 | + @Autowired | ||
| 36 | + private LandBusListService listService; | ||
| 37 | + | ||
| 35 | private static AnalysisRoute route; | 38 | private static AnalysisRoute route; |
| 36 | 39 | ||
| 37 | private static MessageAnalysis analysis = new MessageAnalysis(); | 40 | private static MessageAnalysis analysis = new MessageAnalysis(); |
| @@ -51,9 +54,10 @@ public class AnalysisRoute { | @@ -51,9 +54,10 @@ public class AnalysisRoute { | ||
| 51 | route.gatService = this.gatService; | 54 | route.gatService = this.gatService; |
| 52 | route.infoService = this.infoService; | 55 | route.infoService = this.infoService; |
| 53 | route.commandService = this.commandService; | 56 | route.commandService = this.commandService; |
| 57 | + route.listService = this.listService; | ||
| 54 | } | 58 | } |
| 55 | 59 | ||
| 56 | - public void analysis(String string) { | 60 | + public static void analysis(String string) { |
| 57 | Message message = analysis.readTicketsXml(string); | 61 | Message message = analysis.readTicketsXml(string); |
| 58 | String stype = message.getMeta().getSmType(); | 62 | String stype = message.getMeta().getSmType(); |
| 59 | if (stype.equals("CARM")) { | 63 | if (stype.equals("CARM")) { |
| @@ -62,8 +66,9 @@ public class AnalysisRoute { | @@ -62,8 +66,9 @@ public class AnalysisRoute { | ||
| 62 | route.commandService.save(info); | 66 | route.commandService.save(info); |
| 63 | }else{ | 67 | }else{ |
| 64 | GatherInfo info = gatherInfoAnalysis.toJavaBean(message); | 68 | GatherInfo info = gatherInfoAnalysis.toJavaBean(message); |
| 69 | + if(LogicOperation.operation(info)){ | ||
| 70 | + } | ||
| 65 | route.infoService.save(info); | 71 | route.infoService.save(info); |
| 66 | - LogicOperation.operation(info); | ||
| 67 | } | 72 | } |
| 68 | } else if (stype.equals("ES1")) { | 73 | } else if (stype.equals("ES1")) { |
| 69 | airone_ex_stock exStock = exStockAnalysis.toExStock(message); | 74 | airone_ex_stock exStock = exStockAnalysis.toExStock(message); |
| @@ -22,6 +22,7 @@ public class CommandInfoAnalysis { | @@ -22,6 +22,7 @@ public class CommandInfoAnalysis { | ||
| 22 | bean.setChnlNo(info.getCHNL_NO()); | 22 | bean.setChnlNo(info.getCHNL_NO()); |
| 23 | bean.setiEType(info.getI_E_TYPE()); | 23 | bean.setiEType(info.getI_E_TYPE()); |
| 24 | bean.setSeqNo(info.getSEQ_NO()); | 24 | bean.setSeqNo(info.getSEQ_NO()); |
| 25 | + bean.setCheckResult(info.getCheckResult()); | ||
| 25 | bean.setEsealId(info.getSeal().getEsealId()); | 26 | bean.setEsealId(info.getSeal().getEsealId()); |
| 26 | bean.setSealKey(info.getSeal().getSealKey()); | 27 | bean.setSealKey(info.getSeal().getSealKey()); |
| 27 | bean.setVeName(info.getGps().getVeName()); | 28 | bean.setVeName(info.getGps().getVeName()); |
| @@ -34,6 +34,9 @@ public class CommandInfo { | @@ -34,6 +34,9 @@ public class CommandInfo { | ||
| 34 | @XStreamAlias("SEAL") | 34 | @XStreamAlias("SEAL") |
| 35 | private Seal seal; | 35 | private Seal seal; |
| 36 | 36 | ||
| 37 | + @XStreamAlias("SZ_MSG") | ||
| 38 | + private Seal seMsg; | ||
| 39 | + | ||
| 37 | 40 | ||
| 38 | 41 | ||
| 39 | public String getAREA_ID() { | 42 | public String getAREA_ID() { |
| @@ -106,4 +109,12 @@ public class CommandInfo { | @@ -106,4 +109,12 @@ public class CommandInfo { | ||
| 106 | public void setFormId(String formId) { | 109 | public void setFormId(String formId) { |
| 107 | this.formId = formId; | 110 | this.formId = formId; |
| 108 | } | 111 | } |
| 112 | + | ||
| 113 | + public Seal getSeMsg() { | ||
| 114 | + return seMsg; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + public void setSeMsg(Seal seMsg) { | ||
| 118 | + this.seMsg = seMsg; | ||
| 119 | + } | ||
| 109 | } | 120 | } |
| @@ -14,6 +14,12 @@ public class Seal { | @@ -14,6 +14,12 @@ public class Seal { | ||
| 14 | @XStreamAlias("CONTA_NUM") | 14 | @XStreamAlias("CONTA_NUM") |
| 15 | private String countNum; | 15 | private String countNum; |
| 16 | 16 | ||
| 17 | + @XStreamAlias("OPEN_TIMES") | ||
| 18 | + private String openTimes; | ||
| 19 | + | ||
| 20 | + @XStreamAlias("ESEAL_IC_NO") | ||
| 21 | + private String EsealIdNo; | ||
| 22 | + | ||
| 17 | 23 | ||
| 18 | public String getEsealId() { | 24 | public String getEsealId() { |
| 19 | return EsealId; | 25 | return EsealId; |
| @@ -38,6 +44,22 @@ public class Seal { | @@ -38,6 +44,22 @@ public class Seal { | ||
| 38 | public void setCountNum(String countNum) { | 44 | public void setCountNum(String countNum) { |
| 39 | this.countNum = countNum; | 45 | this.countNum = countNum; |
| 40 | } | 46 | } |
| 47 | + | ||
| 48 | + public String getOpenTimes() { | ||
| 49 | + return openTimes; | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + public void setOpenTimes(String openTimes) { | ||
| 53 | + this.openTimes = openTimes; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public String getEsealIdNo() { | ||
| 57 | + return EsealIdNo; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + public void setEsealIdNo(String esealIdNo) { | ||
| 61 | + EsealIdNo = esealIdNo; | ||
| 62 | + } | ||
| 41 | } | 63 | } |
| 42 | 64 | ||
| 43 | 65 |
| 1 | +package com.sy.crossDomain; | ||
| 2 | + | ||
| 3 | +import com.alibaba.fastjson.JSON; | ||
| 4 | +import com.alibaba.fastjson.JSONArray; | ||
| 5 | +import com.alibaba.fastjson.JSONObject; | ||
| 6 | +import org.springframework.stereotype.Component; | ||
| 7 | + | ||
| 8 | +import java.io.BufferedReader; | ||
| 9 | +import java.io.IOException; | ||
| 10 | +import java.io.InputStreamReader; | ||
| 11 | +import java.io.OutputStreamWriter; | ||
| 12 | +import java.net.HttpURLConnection; | ||
| 13 | +import java.net.MalformedURLException; | ||
| 14 | +import java.net.URL; | ||
| 15 | +import java.util.Map; | ||
| 16 | + | ||
| 17 | + | ||
| 18 | +@Component | ||
| 19 | +public class buildBarCode { | ||
| 20 | + | ||
| 21 | + private static String CREATEBARCODE = "http://10.50.7.11:8088/publiclogistics/createVehicleBarCode"; | ||
| 22 | + private static String CANCLEBARCODE = "http://10.50.7.11:8088/publiclogistics/cancelVehicleBarCode"; | ||
| 23 | + | ||
| 24 | + // 发送数据并接收返回数据 | ||
| 25 | + public static String sendData(String url, String json) { | ||
| 26 | + StringBuilder str = new StringBuilder(); | ||
| 27 | + BufferedReader bf = null; | ||
| 28 | + OutputStreamWriter writer = null; | ||
| 29 | + try { | ||
| 30 | + URL Url = new URL(url); | ||
| 31 | + HttpURLConnection conn = (HttpURLConnection) Url.openConnection(); | ||
| 32 | + conn.setDoInput(true); | ||
| 33 | + conn.setDoOutput(true); | ||
| 34 | + conn.setRequestProperty("X-Rrquested-With", "XMLHttpRequest"); | ||
| 35 | + conn.setRequestProperty("Connection", "keep-alive"); | ||
| 36 | + conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); | ||
| 37 | + conn.setRequestMethod("POST"); | ||
| 38 | + conn.connect(); | ||
| 39 | + writer = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); | ||
| 40 | + writer.write(json); | ||
| 41 | + writer.flush(); | ||
| 42 | + bf = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); | ||
| 43 | + String inputLine = null; | ||
| 44 | + while ((inputLine = bf.readLine()) != null) { | ||
| 45 | + str.append(inputLine); | ||
| 46 | + } | ||
| 47 | + } catch (MalformedURLException e) { | ||
| 48 | + e.printStackTrace(); | ||
| 49 | + } catch (IOException e) { | ||
| 50 | + e.printStackTrace(); | ||
| 51 | + } finally { | ||
| 52 | + try { | ||
| 53 | + writer.close(); | ||
| 54 | + bf.close(); | ||
| 55 | + } catch (IOException e) { | ||
| 56 | + e.printStackTrace(); | ||
| 57 | + } | ||
| 58 | + } | ||
| 59 | + return str.toString(); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + // 解析返回的json里的data数据 | ||
| 63 | + public static Map jsonFormat(String json) { | ||
| 64 | + JSONObject jsonObject = JSONObject.parseObject(json); | ||
| 65 | + Object data = jsonObject.get("data"); | ||
| 66 | + String content = "[" + data.toString() + "]"; | ||
| 67 | + JSONArray jsonArray = JSONArray.parseArray(content); | ||
| 68 | + Map map = JSON.parseObject(jsonArray.getString(0)); | ||
| 69 | + return map; | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + // 生成二维码 | ||
| 73 | + public static String CreateBarCode(String carCode,String carColor,String mainifist) { | ||
| 74 | + String json = "{\"token\":\"samples\",\"data\":{\"vehicle_no\":\""+carCode+"\",\"vehicle_no_color\":\"" | ||
| 75 | + +carColor+"\",\"vehicle_rela_id\":\""+mainifist+"\"}}"; | ||
| 76 | + String content = buildBarCode.sendData(CREATEBARCODE, json); | ||
| 77 | + Map map = buildBarCode.jsonFormat(content); | ||
| 78 | + return map.get("vehicle_bar_code").toString(); | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + // 取消二维码 | ||
| 82 | + public static void cancleBarCode(String carCode,String carColor) { | ||
| 83 | + String json = "{\"token\":\"samples\",\"data\":{\"vehicle_no\":\""+carCode+"\",\"vehicle_no_color\":\""+carColor+"\"}}"; | ||
| 84 | + buildBarCode.sendData(CANCLEBARCODE, json); | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | +} |
| @@ -3,6 +3,7 @@ package com.sy.logic; | @@ -3,6 +3,7 @@ package com.sy.logic; | ||
| 3 | 3 | ||
| 4 | import com.alibaba.fastjson.JSON; | 4 | import com.alibaba.fastjson.JSON; |
| 5 | import com.alibaba.fastjson.JSONArray; | 5 | import com.alibaba.fastjson.JSONArray; |
| 6 | +import com.sy.crossDomain.buildBarCode; | ||
| 6 | import com.sy.model.GatherInfo; | 7 | import com.sy.model.GatherInfo; |
| 7 | import com.sy.model.LandBusinessTypeList; | 8 | import com.sy.model.LandBusinessTypeList; |
| 8 | import com.sy.model.LandRoadVe; | 9 | import com.sy.model.LandRoadVe; |
| @@ -48,11 +49,12 @@ public class LogicOperation { | @@ -48,11 +49,12 @@ public class LogicOperation { | ||
| 48 | //逻辑判断后的结果定义 | 49 | //逻辑判断后的结果定义 |
| 49 | private static String PERMITTHOUGH = "直接放行"; | 50 | private static String PERMITTHOUGH = "直接放行"; |
| 50 | private static String GROWSSEXCETION = "禁止通行,重量不在可控范围"; | 51 | private static String GROWSSEXCETION = "禁止通行,重量不在可控范围"; |
| 52 | + private static String NORECORD = "车辆未备案"; | ||
| 51 | private static String INPUTSTATION = "此车辆未做进站申请"; | 53 | private static String INPUTSTATION = "此车辆未做进站申请"; |
| 52 | private static String ENTERSTATION = "此车辆未做出站申请"; | 54 | private static String ENTERSTATION = "此车辆未做出站申请"; |
| 53 | 55 | ||
| 54 | @PostConstruct | 56 | @PostConstruct |
| 55 | - public void init(){ | 57 | + public void init() { |
| 56 | logic = this; | 58 | logic = this; |
| 57 | logic.listService = this.listService; | 59 | logic.listService = this.listService; |
| 58 | logic.veService = this.veService; | 60 | logic.veService = this.veService; |
| @@ -61,61 +63,76 @@ public class LogicOperation { | @@ -61,61 +63,76 @@ public class LogicOperation { | ||
| 61 | /** | 63 | /** |
| 62 | * @Param info 卡口采集数据 | 64 | * @Param info 卡口采集数据 |
| 63 | * @Result 计算卡口采集数据并发送报文 | 65 | * @Result 计算卡口采集数据并发送报文 |
| 64 | - * */ | ||
| 65 | - public static void operation(GatherInfo info){ | 66 | + */ |
| 67 | + public static boolean operation(GatherInfo info) { | ||
| 68 | + boolean result = false; | ||
| 66 | BigDecimal grosswt = info.getGrosswt(); | 69 | BigDecimal grosswt = info.getGrosswt(); |
| 67 | //转为double类型 | 70 | //转为double类型 |
| 68 | double growssWt = grosswt.doubleValue(); | 71 | double growssWt = grosswt.doubleValue(); |
| 69 | String ietype = info.getIetype(); | 72 | String ietype = info.getIetype(); |
| 70 | - List<LandBusinessTypeList>lists = null; | ||
| 71 | - LandRoadVe ve = logic.veService.selectByFrameNo(info.getIcvename()); | ||
| 72 | - if("E".equals(ietype)){ | 73 | + List<LandBusinessTypeList> lists = null; |
| 74 | + String vaName = info.getVename(); | ||
| 75 | + LandRoadVe ve = logic.veService.selectByFrameNo(vaName); | ||
| 76 | + if(ve ==null) return result; | ||
| 77 | + if ("E".equals(ietype)) { | ||
| 73 | ietype = "出场站"; | 78 | ietype = "出场站"; |
| 74 | - lists = logic.listService.selectByFrameNoAndType(info.getIcvename(),ietype); | ||
| 75 | - for (LandBusinessTypeList list:lists) { | 79 | + lists = logic.listService.selectByFrameNoAndType(info.getVename(), ietype); |
| 80 | + for (LandBusinessTypeList list : lists) { | ||
| 76 | //查询是否做了出场申请 | 81 | //查询是否做了出场申请 |
| 77 | - if(list.getContrastflag()=="" | list.getContrastflag()==null){ | 82 | + if (list.getContrastflag() == null || list.getContrastflag() == "" || list.getContrastflag().length() <= 0) { |
| 78 | //判断载货重量是否符合所设定的范围 | 83 | //判断载货重量是否符合所设定的范围 |
| 79 | - double goodsWt = GoodsWt(list.getMasterList(),"E"); | 84 | + double goodsWt = 0.0; |
| 85 | + if (list.getMasterList().length() > 0) { | ||
| 86 | + goodsWt = GoodsWt(list.getMasterList(), "I"); | ||
| 87 | + } | ||
| 80 | double selfWt = Double.parseDouble(ve.getSelfWt()); | 88 | double selfWt = Double.parseDouble(ve.getSelfWt()); |
| 81 | - sendBw(info,growssWt,selfWt,goodsWt); | ||
| 82 | - list.setContrastflag("已出站"); | ||
| 83 | - logic.listService.updateById(list); | ||
| 84 | - if("货物流转".equals(list.getBusinesstype()) | "分拨分流".equals(list.getBusinesstype())){ | ||
| 85 | - if(list.getMasterList().length()>0) { | ||
| 86 | - createTypeList(list); | 89 | + if (sendBw(info, growssWt, selfWt, goodsWt)) { |
| 90 | + list.setContrastflag("已出站"); | ||
| 91 | + logic.listService.updateById(list); | ||
| 92 | + if ("货物流转".equals(list.getBusinesstype()) | "分拨分流".equals(list.getBusinesstype())) { | ||
| 93 | + if (list.getMasterList().length() > 0) { | ||
| 94 | + createTypeList(list); | ||
| 95 | + } | ||
| 87 | } | 96 | } |
| 97 | + result = true; | ||
| 88 | } | 98 | } |
| 89 | - }else { | ||
| 90 | - CommandClient.Client(info,ENTERSTATION); | 99 | + } else { |
| 100 | + CommandClient.Client(info, ENTERSTATION); | ||
| 91 | } | 101 | } |
| 92 | } | 102 | } |
| 93 | - }else { | 103 | + } else { |
| 94 | ietype = "进场站"; | 104 | ietype = "进场站"; |
| 95 | - lists = logic.listService.selectByFrameNoAndType(info.getIcvename(),ietype); | ||
| 96 | - for (LandBusinessTypeList list:lists) { | 105 | + lists = logic.listService.selectByFrameNoAndType(info.getVename(), ietype); |
| 106 | + for (LandBusinessTypeList list : lists) { | ||
| 97 | //查询是否做了出场申请 | 107 | //查询是否做了出场申请 |
| 98 | - if(list.getContrastflag()=="" | list.getContrastflag()==null){ | 108 | + if (list.getContrastflag() == null || list.getContrastflag() == "" || list.getContrastflag().length |
| 109 | + () <= 0) { | ||
| 99 | //判断载货重量是否符合所设定的范围 | 110 | //判断载货重量是否符合所设定的范围 |
| 100 | - double goodsWt = GoodsWt(list.getMasterList(),"I"); | 111 | + double goodsWt = 0.0; |
| 112 | + if(list.getMasterList().length() > 0){ | ||
| 113 | + goodsWt = GoodsWt(list.getMasterList(), "E"); | ||
| 114 | + } | ||
| 101 | double selfWt = Double.parseDouble(ve.getSelfWt()); | 115 | double selfWt = Double.parseDouble(ve.getSelfWt()); |
| 102 | - sendBw(info,growssWt,selfWt,goodsWt); | ||
| 103 | - list.setContrastflag("已进站"); | ||
| 104 | - logic.listService.updateById(list); | ||
| 105 | - }else { | ||
| 106 | - CommandClient.Client(info,INPUTSTATION); | 116 | + if (sendBw(info, growssWt, selfWt, goodsWt)) { |
| 117 | + list.setContrastflag("已进站"); | ||
| 118 | + logic.listService.updateById(list); | ||
| 119 | + result = true; | ||
| 120 | + } | ||
| 121 | + } else { | ||
| 122 | + CommandClient.Client(info, INPUTSTATION); | ||
| 107 | } | 123 | } |
| 108 | } | 124 | } |
| 109 | } | 125 | } |
| 126 | + return result; | ||
| 110 | } | 127 | } |
| 111 | 128 | ||
| 112 | //将获取的checkWt进行小数转化 | 129 | //将获取的checkWt进行小数转化 |
| 113 | - public static double valueDob(){ | ||
| 114 | - NumberFormat nf=NumberFormat.getPercentInstance(); | 130 | + public static double valueDob() { |
| 131 | + NumberFormat nf = NumberFormat.getPercentInstance(); | ||
| 115 | Number m = null; | 132 | Number m = null; |
| 116 | try { | 133 | try { |
| 117 | - m=nf.parse(checkWt);//将百分数转换成Number类型 | ||
| 118 | - }catch (ParseException e){ | 134 | + m = nf.parse(checkWt);//将百分数转换成Number类型 |
| 135 | + } catch (ParseException e) { | ||
| 119 | e.printStackTrace(); | 136 | e.printStackTrace(); |
| 120 | logger.info(e.getMessage()); | 137 | logger.info(e.getMessage()); |
| 121 | } | 138 | } |
| @@ -127,13 +144,23 @@ public class LogicOperation { | @@ -127,13 +144,23 @@ public class LogicOperation { | ||
| 127 | * @Param wt 车辆自重 | 144 | * @Param wt 车辆自重 |
| 128 | * @Param goodsWt 货物总重 | 145 | * @Param goodsWt 货物总重 |
| 129 | * @Result 获取运单重量 | 146 | * @Result 获取运单重量 |
| 130 | - * */ | 147 | + */ |
| 131 | //校验载重和称重是否在合理的范围 | 148 | //校验载重和称重是否在合理的范围 |
| 132 | - public static boolean checkResult(double grossWt,double wt,double goodsWt){ | 149 | + public static boolean checkResult(double grossWt, double wt, double goodsWt) { |
| 133 | boolean flag = false; | 150 | boolean flag = false; |
| 134 | - double result = (grossWt-wt)/goodsWt; | 151 | + double result = 0.0; |
| 152 | + if (goodsWt > 0) { | ||
| 153 | + result = (grossWt - wt) / goodsWt; | ||
| 154 | + if (result > 1) { | ||
| 155 | + result = result - 1; | ||
| 156 | + } else { | ||
| 157 | + result = 1 - result; | ||
| 158 | + } | ||
| 159 | + } else { | ||
| 160 | + result = (grossWt - wt); | ||
| 161 | + } | ||
| 135 | BigDecimal bd = new BigDecimal(result); | 162 | BigDecimal bd = new BigDecimal(result); |
| 136 | - if(bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue()<=valueDob()){ | 163 | + if (bd.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue() <= valueDob()) { |
| 137 | flag = true; | 164 | flag = true; |
| 138 | } | 165 | } |
| 139 | return flag; | 166 | return flag; |
| @@ -143,13 +170,13 @@ public class LogicOperation { | @@ -143,13 +170,13 @@ public class LogicOperation { | ||
| 143 | * @Param mainifast 主单列表 | 170 | * @Param mainifast 主单列表 |
| 144 | * @Param ietype 进出标志 | 171 | * @Param ietype 进出标志 |
| 145 | * 获取货物总重 | 172 | * 获取货物总重 |
| 146 | - * */ | ||
| 147 | - public static double GoodsWt(String mainifast,String ietype){ | 173 | + */ |
| 174 | + public static double GoodsWt(String mainifast, String ietype) { | ||
| 148 | Double sum = 0.0; | 175 | Double sum = 0.0; |
| 149 | - if(mainifast.length()>0){ | ||
| 150 | - String [] mainifastList = mainifast.split(","); | ||
| 151 | - for (String mainBill:mainifastList) { | ||
| 152 | - sum = sum+=getGrossWt(mainBill,ietype); | 176 | + if (mainifast.length() > 0) { |
| 177 | + String[] mainifastList = mainifast.split(","); | ||
| 178 | + for (String mainBill : mainifastList) { | ||
| 179 | + sum = sum += getGrossWt(mainBill, ietype); | ||
| 153 | } | 180 | } |
| 154 | } | 181 | } |
| 155 | return sum; | 182 | return sum; |
| @@ -160,15 +187,15 @@ public class LogicOperation { | @@ -160,15 +187,15 @@ public class LogicOperation { | ||
| 160 | * @Param waybill 主单号 | 187 | * @Param waybill 主单号 |
| 161 | * @Param imp 进出港标识 | 188 | * @Param imp 进出港标识 |
| 162 | * @Result 获取运单重量 | 189 | * @Result 获取运单重量 |
| 163 | - * */ | 190 | + */ |
| 164 | public static double getGrossWt(String waybill, String imp) { | 191 | public static double getGrossWt(String waybill, String imp) { |
| 165 | String url = "http://tjfx.15miaoo.com:8003/tj/orig/orig?waybill=" + waybill + "&imp=" + imp; | 192 | String url = "http://tjfx.15miaoo.com:8003/tj/orig/orig?waybill=" + waybill + "&imp=" + imp; |
| 166 | StringBuilder json = new StringBuilder(); | 193 | StringBuilder json = new StringBuilder(); |
| 167 | Map map = null; | 194 | Map map = null; |
| 168 | double bg = 0; | 195 | double bg = 0; |
| 169 | try { | 196 | try { |
| 170 | - URL oracle = new URL(url); | ||
| 171 | - URLConnection yc = oracle.openConnection(); | 197 | + URL Url = new URL(url); |
| 198 | + URLConnection yc = Url.openConnection(); | ||
| 172 | BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); | 199 | BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); |
| 173 | String inputLine = null; | 200 | String inputLine = null; |
| 174 | while ((inputLine = in.readLine()) != null) { | 201 | while ((inputLine = in.readLine()) != null) { |
| @@ -177,7 +204,8 @@ public class LogicOperation { | @@ -177,7 +204,8 @@ public class LogicOperation { | ||
| 177 | JSONArray array = JSONArray.parseArray(json.toString()); | 204 | JSONArray array = JSONArray.parseArray(json.toString()); |
| 178 | for (int i = 0; i < array.size(); i++) { | 205 | for (int i = 0; i < array.size(); i++) { |
| 179 | map = JSON.parseObject(array.getString(i)); | 206 | map = JSON.parseObject(array.getString(i)); |
| 180 | - if (map.get("receiptinformation").toString().startsWith("41301")) { | 207 | + if (map.get("receiptinformation").toString().startsWith("41301") || map.get("receiptinformation") |
| 208 | + .toString().startsWith("41106")) { | ||
| 181 | bg = Double.parseDouble((String) map.get("totalweight")); | 209 | bg = Double.parseDouble((String) map.get("totalweight")); |
| 182 | return bg; | 210 | return bg; |
| 183 | } | 211 | } |
| @@ -190,43 +218,50 @@ public class LogicOperation { | @@ -190,43 +218,50 @@ public class LogicOperation { | ||
| 190 | } | 218 | } |
| 191 | return bg; | 219 | return bg; |
| 192 | } | 220 | } |
| 221 | + | ||
| 193 | /** | 222 | /** |
| 194 | * 分拨或者流转业务生成新的进站申请 | 223 | * 分拨或者流转业务生成新的进站申请 |
| 195 | - * */ | ||
| 196 | - public static void createTypeList(LandBusinessTypeList list){ | 224 | + */ |
| 225 | + public static void createTypeList(LandBusinessTypeList list) { | ||
| 197 | LandBusinessTypeList typeList = new LandBusinessTypeList(); | 226 | LandBusinessTypeList typeList = new LandBusinessTypeList(); |
| 198 | typeList.setId(UUIDCreate.getUUID()); | 227 | typeList.setId(UUIDCreate.getUUID()); |
| 199 | typeList.setAgentname(list.getAgentname()); | 228 | typeList.setAgentname(list.getAgentname()); |
| 200 | typeList.setAgentno(list.getAgentno()); | 229 | typeList.setAgentno(list.getAgentno()); |
| 201 | - typeList.setAisle("1号卡口"); | 230 | + typeList.setAisle("1号卡口-进"); |
| 202 | typeList.setCreateBy(list.getCreateBy()); | 231 | typeList.setCreateBy(list.getCreateBy()); |
| 203 | typeList.setUpdateBy(list.getUpdateBy()); | 232 | typeList.setUpdateBy(list.getUpdateBy()); |
| 204 | typeList.setCreateDate(new Date()); | 233 | typeList.setCreateDate(new Date()); |
| 205 | typeList.setUpdateDate(new Date()); | 234 | typeList.setUpdateDate(new Date()); |
| 206 | typeList.setCocode(list.getCocode()); | 235 | typeList.setCocode(list.getCocode()); |
| 207 | typeList.setDriverid(list.getDriverid()); | 236 | typeList.setDriverid(list.getDriverid()); |
| 237 | + typeList.setDrivername(list.getDrivername()); | ||
| 208 | typeList.setStartport(list.getEndport()); | 238 | typeList.setStartport(list.getEndport()); |
| 209 | typeList.setStartsatation(list.getEndstation()); | 239 | typeList.setStartsatation(list.getEndstation()); |
| 210 | typeList.setEndport(list.getStartport()); | 240 | typeList.setEndport(list.getStartport()); |
| 211 | typeList.setEndstation(list.getStartsatation()); | 241 | typeList.setEndstation(list.getStartsatation()); |
| 212 | typeList.setTrailerFrameNo(list.getTrailerFrameNo()); | 242 | typeList.setTrailerFrameNo(list.getTrailerFrameNo()); |
| 213 | - typeList.setTrailerLicenseNo(list.getTrailerFrameNo()); | 243 | + typeList.setTrailerLicenseNo(list.getTrailerLicenseNo()); |
| 214 | typeList.setTurnoverflag("进场站"); | 244 | typeList.setTurnoverflag("进场站"); |
| 215 | typeList.setProdectTime(new Date()); | 245 | typeList.setProdectTime(new Date()); |
| 216 | typeList.setMasterList(list.getMasterList()); | 246 | typeList.setMasterList(list.getMasterList()); |
| 217 | typeList.setBusinesstype(list.getBusinesstype()); | 247 | typeList.setBusinesstype(list.getBusinesstype()); |
| 248 | + String barCode = buildBarCode.CreateBarCode(list.getTrailerFrameNo(),"",list.getMasterList()); | ||
| 249 | + typeList.setBarCode(barCode); | ||
| 218 | logic.listService.saveList(typeList); | 250 | logic.listService.saveList(typeList); |
| 219 | } | 251 | } |
| 252 | + | ||
| 220 | /** | 253 | /** |
| 221 | - *校验重量并发送报文 | ||
| 222 | - * */ | ||
| 223 | - | ||
| 224 | - public static void sendBw(GatherInfo info,double growsswWt,double selfWt,double goodsWt){ | ||
| 225 | - String flag = null; | ||
| 226 | - if(checkResult(growsswWt,selfWt,goodsWt)){ | ||
| 227 | - CommandClient.Client(info,PERMITTHOUGH); | ||
| 228 | - }else { | ||
| 229 | - CommandClient.Client(info,GROWSSEXCETION); | 254 | + * 校验重量并发送报文 |
| 255 | + */ | ||
| 256 | + | ||
| 257 | + public static boolean sendBw(GatherInfo info, double growsswWt, double selfWt, double goodsWt) { | ||
| 258 | + boolean flag = false; | ||
| 259 | + if (checkResult(growsswWt, selfWt, goodsWt)) { | ||
| 260 | + CommandClient.Client(info, PERMITTHOUGH); | ||
| 261 | + flag = true; | ||
| 262 | + } else { | ||
| 263 | + CommandClient.Client(info, GROWSSEXCETION); | ||
| 230 | } | 264 | } |
| 265 | + return flag; | ||
| 231 | } | 266 | } |
| 232 | } | 267 | } |
| 1 | package com.sy.mapper; | 1 | package com.sy.mapper; |
| 2 | 2 | ||
| 3 | import com.sy.model.LandBusinessTypeList; | 3 | import com.sy.model.LandBusinessTypeList; |
| 4 | +import org.apache.ibatis.annotations.Param; | ||
| 4 | import org.springframework.stereotype.Component; | 5 | import org.springframework.stereotype.Component; |
| 5 | 6 | ||
| 6 | import java.util.List; | 7 | import java.util.List; |
| @@ -18,5 +19,6 @@ public interface LandBusinessTypeListMapper { | @@ -18,5 +19,6 @@ public interface LandBusinessTypeListMapper { | ||
| 18 | 19 | ||
| 19 | int updateByPrimaryKey(LandBusinessTypeList record); | 20 | int updateByPrimaryKey(LandBusinessTypeList record); |
| 20 | //根据车牌号和进出场标志查询 | 21 | //根据车牌号和进出场标志查询 |
| 21 | - List<LandBusinessTypeList> selectFrameNoAndType(String frameNo,String flag); | 22 | + List<LandBusinessTypeList> selectFrameNoAndType(@Param("trailerFrameNo") String frameNo, |
| 23 | + @Param("turnoverflag") String flag); | ||
| 22 | } | 24 | } |
| @@ -51,6 +51,8 @@ public class LandBusinessTypeList { | @@ -51,6 +51,8 @@ public class LandBusinessTypeList { | ||
| 51 | 51 | ||
| 52 | private Date updateDate; | 52 | private Date updateDate; |
| 53 | 53 | ||
| 54 | + private String barCode; | ||
| 55 | + | ||
| 54 | public String getId() { | 56 | public String getId() { |
| 55 | return id; | 57 | return id; |
| 56 | } | 58 | } |
| @@ -242,4 +244,12 @@ public class LandBusinessTypeList { | @@ -242,4 +244,12 @@ public class LandBusinessTypeList { | ||
| 242 | public void setUpdateDate(Date updateDate) { | 244 | public void setUpdateDate(Date updateDate) { |
| 243 | this.updateDate = updateDate; | 245 | this.updateDate = updateDate; |
| 244 | } | 246 | } |
| 247 | + | ||
| 248 | + public String getBarCode() { | ||
| 249 | + return barCode; | ||
| 250 | + } | ||
| 251 | + | ||
| 252 | + public void setBarCode(String barCode) { | ||
| 253 | + this.barCode = barCode; | ||
| 254 | + } | ||
| 245 | } | 255 | } |
| @@ -17,7 +17,13 @@ public class LandBusListServiceImpl implements LandBusListService { | @@ -17,7 +17,13 @@ public class LandBusListServiceImpl implements LandBusListService { | ||
| 17 | 17 | ||
| 18 | @Override | 18 | @Override |
| 19 | public List<LandBusinessTypeList> selectByFrameNoAndType(String frameNo, String flag) { | 19 | public List<LandBusinessTypeList> selectByFrameNoAndType(String frameNo, String flag) { |
| 20 | - List<LandBusinessTypeList> lists = listMapper.selectFrameNoAndType(frameNo,flag); | 20 | + List<LandBusinessTypeList> lists = null; |
| 21 | + try{ | ||
| 22 | + lists = listMapper.selectFrameNoAndType(frameNo,flag); | ||
| 23 | + }catch (Exception e){ | ||
| 24 | + e.printStackTrace(); | ||
| 25 | + System.out.println(e.getMessage()); | ||
| 26 | + } | ||
| 21 | return lists; | 27 | return lists; |
| 22 | } | 28 | } |
| 23 | 29 | ||
| @@ -29,7 +35,7 @@ public class LandBusListServiceImpl implements LandBusListService { | @@ -29,7 +35,7 @@ public class LandBusListServiceImpl implements LandBusListService { | ||
| 29 | }catch (Exception e){ | 35 | }catch (Exception e){ |
| 30 | e.printStackTrace(); | 36 | e.printStackTrace(); |
| 31 | } | 37 | } |
| 32 | - return 0; | 38 | + return result; |
| 33 | } | 39 | } |
| 34 | 40 | ||
| 35 | @Override | 41 | @Override |
| @@ -3,11 +3,13 @@ package com.sy.service.impl; | @@ -3,11 +3,13 @@ package com.sy.service.impl; | ||
| 3 | import com.sy.mapper.LandRoadVeMapper; | 3 | import com.sy.mapper.LandRoadVeMapper; |
| 4 | import com.sy.model.LandRoadVe; | 4 | import com.sy.model.LandRoadVe; |
| 5 | import com.sy.service.LandRoadVeService; | 5 | import com.sy.service.LandRoadVeService; |
| 6 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 6 | import org.springframework.stereotype.Service; | 7 | import org.springframework.stereotype.Service; |
| 7 | 8 | ||
| 8 | @Service | 9 | @Service |
| 9 | public class LandRoadVeServiceImpl implements LandRoadVeService { | 10 | public class LandRoadVeServiceImpl implements LandRoadVeService { |
| 10 | 11 | ||
| 12 | + @Autowired | ||
| 11 | private LandRoadVeMapper veMapper; | 13 | private LandRoadVeMapper veMapper; |
| 12 | 14 | ||
| 13 | @Override | 15 | @Override |
| @@ -15,15 +15,16 @@ public class CommandClient { | @@ -15,15 +15,16 @@ public class CommandClient { | ||
| 15 | private static final Logger logger = Logger.getLogger(CommandClient.class); | 15 | private static final Logger logger = Logger.getLogger(CommandClient.class); |
| 16 | 16 | ||
| 17 | /** | 17 | /** |
| 18 | - * @Param GatherInfo 所传卡口信息 | ||
| 19 | - * @Param flag 是否放行标识符 | 18 | + * @Param GatherInfo 卡口采集信息 |
| 19 | + * @Param flag 是否放行信息 | ||
| 20 | * */ | 20 | * */ |
| 21 | public static void Client(GatherInfo info,String flag) { | 21 | public static void Client(GatherInfo info,String flag) { |
| 22 | String xmlBody = getXmlInfo(info,flag); | 22 | String xmlBody = getXmlInfo(info,flag); |
| 23 | Socket socket =null; | 23 | Socket socket =null; |
| 24 | OutputStream op = null; | 24 | OutputStream op = null; |
| 25 | try { | 25 | try { |
| 26 | - socket = new Socket("192.168.1.107", 9002); | 26 | + //ip+端口 |
| 27 | + socket = new Socket("10.50.7.10", 9003); | ||
| 27 | logger.info("socket通讯创建连接成功"); | 28 | logger.info("socket通讯创建连接成功"); |
| 28 | op = socket.getOutputStream(); | 29 | op = socket.getOutputStream(); |
| 29 | //xml字节流 | 30 | //xml字节流 |
| @@ -45,19 +46,20 @@ public class CommandClient { | @@ -45,19 +46,20 @@ public class CommandClient { | ||
| 45 | byte[]eType =info.getIetype().getBytes("ASCII"); | 46 | byte[]eType =info.getIetype().getBytes("ASCII"); |
| 46 | //标识符 | 47 | //标识符 |
| 47 | byte[] bwFlag = new byte[4]; | 48 | byte[] bwFlag = new byte[4]; |
| 48 | - bwFlag[0]=(byte)0xFF; | ||
| 49 | - bwFlag[1]=(byte)0xFF; | ||
| 50 | - bwFlag[2]=(byte)0xFF; | ||
| 51 | - bwFlag[3]=(byte)0xFF; | 49 | + bwFlag[0]=(byte)0x00; |
| 50 | + bwFlag[1]=(byte)0x00; | ||
| 51 | + bwFlag[2]=(byte)0x00; | ||
| 52 | + bwFlag[3]=(byte)0x00; | ||
| 52 | //xml字节流长度 | 53 | //xml字节流长度 |
| 53 | byte[]xmlLength = intToByte4(xBody.length); | 54 | byte[]xmlLength = intToByte4(xBody.length); |
| 54 | //包尾 | 55 | //包尾 |
| 55 | byte[]end = new byte[2]; | 56 | byte[]end = new byte[2]; |
| 56 | end[0]=(byte)0xFF; | 57 | end[0]=(byte)0xFF; |
| 57 | end[1]=(byte)0xFF; | 58 | end[1]=(byte)0xFF; |
| 58 | - //总长 | 59 | + System.out.println(); |
| 60 | + //总长 4为总长的length | ||
| 59 | byte [] packge = intToByte4((head.length+xBody.length+mType.length+station.length+aisle.length+eType | 61 | byte [] packge = intToByte4((head.length+xBody.length+mType.length+station.length+aisle.length+eType |
| 60 | - .length+bwFlag.length+xmlLength.length+end.length)); | 62 | + .length+bwFlag.length+xmlLength.length+end.length+4)); |
| 61 | byte[]allByte = byteMergerAll(head,packge,mType,station,aisle,eType,bwFlag,xmlLength,xBody,end); | 63 | byte[]allByte = byteMergerAll(head,packge,mType,station,aisle,eType,bwFlag,xmlLength,xBody,end); |
| 62 | op.write(allByte); | 64 | op.write(allByte); |
| 63 | op.flush(); | 65 | op.flush(); |
| @@ -82,9 +84,9 @@ public class CommandClient { | @@ -82,9 +84,9 @@ public class CommandClient { | ||
| 82 | private static String getXmlInfo(GatherInfo info,String message) { | 84 | private static String getXmlInfo(GatherInfo info,String message) { |
| 83 | String flag = null; | 85 | String flag = null; |
| 84 | if ("直接放行".equals(message)){ | 86 | if ("直接放行".equals(message)){ |
| 85 | - flag = "11"; | ||
| 86 | - } else{ | ||
| 87 | flag = "00"; | 87 | flag = "00"; |
| 88 | + } else{ | ||
| 89 | + flag = "11"; | ||
| 88 | } | 90 | } |
| 89 | StringBuffer buffer = new StringBuffer(); | 91 | StringBuffer buffer = new StringBuffer(); |
| 90 | buffer.append("<COMMAND_INFO AREA_ID=\""+info.getAreaid()+"\" CHNL_NO=\""+info.getChnlno()+"\" I_E_TYPE=\""+info | 92 | buffer.append("<COMMAND_INFO AREA_ID=\""+info.getAreaid()+"\" CHNL_NO=\""+info.getChnlno()+"\" I_E_TYPE=\""+info |
| @@ -123,6 +125,7 @@ public class CommandClient { | @@ -123,6 +125,7 @@ public class CommandClient { | ||
| 123 | return value; | 125 | return value; |
| 124 | } | 126 | } |
| 125 | 127 | ||
| 128 | + //合并byte数据 | ||
| 126 | private static byte[] byteMergerAll(byte[]... values) { | 129 | private static byte[] byteMergerAll(byte[]... values) { |
| 127 | int length_byte = 0; | 130 | int length_byte = 0; |
| 128 | for (int i = 0; i < values.length; i++) { | 131 | for (int i = 0; i < values.length; i++) { |
| @@ -42,7 +42,7 @@ public final class FileTool { | @@ -42,7 +42,7 @@ public final class FileTool { | ||
| 42 | 42 | ||
| 43 | } | 43 | } |
| 44 | public static String readfile(File file) throws IOException{ | 44 | public static String readfile(File file) throws IOException{ |
| 45 | - String fileToString = FileUtils.readFileToString(file, "UTF-8"); | 45 | + String fileToString = CharasetCheck.getUTF8String(FileUtils.readFileToString(file, "GB2312")); |
| 46 | return fileToString; | 46 | return fileToString; |
| 47 | } | 47 | } |
| 48 | 48 |
| @@ -14,15 +14,15 @@ spring.mvc.view.suffix=/WEB-INF/jsp/ | @@ -14,15 +14,15 @@ spring.mvc.view.suffix=/WEB-INF/jsp/ | ||
| 14 | #映射后缀 | 14 | #映射后缀 |
| 15 | spring.mvc.view.prefix=.jsp | 15 | spring.mvc.view.prefix=.jsp |
| 16 | #设置本地数据源 | 16 | #设置本地数据源 |
| 17 | -spring.datasource.username=root | ||
| 18 | -spring.datasource.password=root | ||
| 19 | -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver | ||
| 20 | -spring.datasource.url=jdbc:mysql://localhost:3306/bysj?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai | ||
| 21 | -#设置线上数据源 | 17 | +#spring.datasource.username=root |
| 18 | +#spring.datasource.password=root | ||
| 22 | #spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver | 19 | #spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver |
| 23 | -#spring.datasource.url=jdbc:mysql://10.50.7.10:3306/station?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true | ||
| 24 | -#spring.datasource.username=kako | ||
| 25 | -#spring.datasource.password=mysql10.50.7.10 | 20 | +#spring.datasource.url=jdbc:mysql://localhost:3306/bysj?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai |
| 21 | +#设置线上数据源 | ||
| 22 | +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver | ||
| 23 | +spring.datasource.url=jdbc:mysql://10.50.7.10:3306/station?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true | ||
| 24 | +spring.datasource.username=kako | ||
| 25 | +spring.datasource.password=mysql10.50.7.10 | ||
| 26 | #连接池类 | 26 | #连接池类 |
| 27 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource | 27 | spring.datasource.type=com.alibaba.druid.pool.DruidDataSource |
| 28 | #连接池配置,因为springboot默认是开启了连接池的,它有默认配置,这一段可以忽略 | 28 | #连接池配置,因为springboot默认是开启了连接池的,它有默认配置,这一段可以忽略 |
-
请 注册 或 登录 后发表评论