切换导航条
此项目
正在载入...
登录
zhangFan
/
analysis_imf
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
朱兆平
2 years ago
提交
08378e5fba9ea1af486fe61fb5ca7796089bb536
1 个父辈
2e0edc18
退库及换单货物人工验放,进口入场必须空车\出口离场必须空车
显示空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
85 行增加
和
16 行删除
pom.xml
src/main/java/com/sy/service/WeightCheckHandleService.java
src/main/java/com/sy/service/impl/GatherInfoHandle.java
src/main/java/com/sy/service/impl/WeightCheckHandleServiceImpl.java
src/main/java/com/sy/socket/CommandClient.java
pom.xml
查看文件 @
08378e5
...
...
@@ -7,7 +7,6 @@
<artifactId>
analysis_imf
</artifactId>
<version>
3.0-G2-SNAPSHOT
</version>
<packaging>
jar
</packaging>
<name>
analysis_imf
</name>
<description>
北货集成金二抬杆指令判定
</description>
...
...
src/main/java/com/sy/service/WeightCheckHandleService.java
查看文件 @
08378e5
...
...
@@ -22,6 +22,18 @@ public interface WeightCheckHandleService {
boolean
checkExportDownLoading
(
double
grossWt
,
double
wt
,
double
goodsWt
,
double
inWt
);
/**
* 进口普货提货业务,入场时的数据校验
* 校验入场重量是否等于车辆备案重量
* @param grossWt 地磅称重,也称出场过磅重量
* @param wt 车辆自重
* @param goodsWt 货物总重
* @param inWt 进场过磅重量
* 误差计算方式 (应该出场重量 - 出场重量) / 出场重量 与 误差比对,超过误差则不放行
* @return 返回校验结果 true 通过,false 不通过
*/
boolean
checkImportAtCheckIN
(
double
grossWt
,
double
wt
,
double
goodsWt
,
double
inWt
);
/**
* 进口普货提货业务重量校验,可支持 带货提货,不支持卸货提货
* 进口转关业务重量校验
* 进场重量+载货重量 = 出场重量
...
...
src/main/java/com/sy/service/impl/GatherInfoHandle.java
查看文件 @
08378e5
...
...
@@ -45,6 +45,8 @@ public class GatherInfoHandle implements GatherInfoService {
private
static
String
NOGrossWt
=
"过磅重量异常"
;
private
static
String
BLACKLIST
=
"车辆已被拉进黑名单,不允许出区"
;
private
static
String
CHANEL_ERR
=
"无对应通道流转申请,走错通道"
;
private
static
String
TUIKU
=
"车辆装载有退库货物,人工放行"
;
private
static
String
CHECKINNOEMPTY
=
"提货业务禁止非空车驶入"
;
@Autowired
...
...
@@ -177,8 +179,22 @@ public class GatherInfoHandle implements GatherInfoService {
}
//入区核放
if
(
chanelInCheck
()){
switch
(
landBusinessTypeList
.
getBusinesstype
()){
case
"进口转关"
:
case
"进口提货"
:
if
(
gatherInfoHandle
.
weightCheckHandleService
.
checkImportAtCheckIN
(
growssWt
,
selfWt
,
goodsWt
,
inWt
)){
pass
();
log
.
info
(
"[X21-SUCCESS]:[IN]-进口提货放行"
);
}
else
{
sendBw
(
info
,
false
,
CHECKINNOEMPTY
,
landBusinessTypeList
,
listinfos
);
log
.
info
(
"[X21-ERR]:[IN]-进口提货-费空车驶入"
);
}
break
;
default
:
pass
();
log
.
info
(
"[X21-SUCCESS]:[IN]-车辆入区直接放行"
);
}
/**
* 华东区内流转-进口分拨核销部分.
...
...
@@ -388,7 +404,9 @@ public class GatherInfoHandle implements GatherInfoService {
private
boolean
goodsWhiteListCheck
(){
if
(!
"普通货物"
.
equals
(
landBusinessTypeList
.
getCocode
())
&&
!
"转关货物"
.
equals
(
landBusinessTypeList
.
getCocode
())
&&
!
"退库货物"
.
equals
(
landBusinessTypeList
.
getCocode
())
)
{
&&
!
"退库货物"
.
equals
(
landBusinessTypeList
.
getCocode
())
&&
!
"换单货物"
.
equals
(
landBusinessTypeList
.
getCocode
())
)
{
//todo:比如货物类型为快件货物,只走重量校验,不走放行信息等校验.
//todo:退库货物可以关联货运系统,得到退库信息进行比对
//todo:查验货物走查验信息比对
...
...
@@ -481,12 +499,14 @@ public class GatherInfoHandle implements GatherInfoService {
case
"进口转关"
:
case
"进口提货"
:
if
(
gatherInfoHandle
.
weightCheckHandleService
.
checkImportDlv
(
growssWt
,
selfWt
,
goodsWt
,
inWt
)){
if
(
"退库货物"
.
equals
(
landBusinessTypeList
.
getCocode
())){
if
(
"退库货物"
.
equals
(
landBusinessTypeList
.
getCocode
())
||
"换单货物"
.
equals
(
landBusinessTypeList
.
getCocode
())
){
/**
* 退库货物不校验运单放行.
* @chenageNew 退库货物不自动抬杆放行,改为人工验放模式
*/
log
.
info
(
"[退库业务]-重量核验通过."
);
return
true
;
log
.
info
(
"[退库业务]-人工验放模式."
);
sendBw
(
info
,
false
,
TUIKU
,
landBusinessTypeList
,
listinfos
);
return
false
;
}
else
{
//检查运单放行
if
(
gatherInfoHandle
.
resMessageService
.
checkManifestRelease
(
info
,
listinfos
)){
...
...
src/main/java/com/sy/service/impl/WeightCheckHandleServiceImpl.java
查看文件 @
08378e5
...
...
@@ -63,6 +63,17 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
*/
@Override
public
boolean
checkExportDownLoading
(
double
grossWt
,
double
wt
,
double
goodsWt
,
double
inWt
){
/**
* 异常情况判定
* 送货业务的入场重量必须大于离场重量
* 比如申请单申请的时候本来是进口提货 申请成出口送货
*/
if
(
inWt
<
grossWt
){
log
.
info
(
"出区重量比入区重量大,信息异常"
);
return
false
;
}
DecimalFormat
df
=
new
DecimalFormat
(
"0.00"
);
boolean
flag
=
false
;
//卸货判定
...
...
@@ -77,12 +88,37 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
log
.
info
(
"[WEIGHT-CHECK]-进出场比对差值:{},空车出场差值:{},进出场比对重量差:{},空车比对重量差:{}"
,
result
,
result2
,
Math
.
abs
(
inWt
-
goodsWt
-
grossWt
),
Math
.
abs
(
grossWt
-
wt
));
}
double
range
=
valueDob
();
if
(
result
<=
range
||
result2
<=
range
)
{
//车辆离场重量与车辆备案重量验放,只允许空车离场
if
(
result2
<=
range
)
{
flag
=
true
;
}
//
// if (result <= range || result2 <= range) {
// flag = true;
// }
return
flag
;
}
@Override
public
boolean
checkImportAtCheckIN
(
double
grossWt
,
double
wt
,
double
goodsWt
,
double
inWt
){
double
emptyIN
=
0.00
;
DecimalFormat
df
=
new
DecimalFormat
(
"0.00"
);
if
(
Double
.
doubleToLongBits
(
grossWt
)>
Double
.
doubleToLongBits
(
0
)){
//空车入场判定,入场重量-车辆备案重量
emptyIN
=
Double
.
parseDouble
(
df
.
format
(
Math
.
abs
((
wt
-
grossWt
))
/
grossWt
));
double
range
=
valueDob
();
if
(
emptyIN
<=
range
)
{
log
.
info
(
"[WEIGHT-CHECK]-进口提货入口重量验放:入场重量{},车辆备案重量:{},差值:{}"
,
grossWt
,
wt
,
emptyIN
);
return
true
;
}
}
return
false
;
}
/**
* 进口普货提货业务重量校验,可支持 带货提货,不支持卸货提货
* 进口转关业务重量校验
...
...
@@ -107,7 +143,7 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
//进场过磅重量+带货重量 = 出场过磅重量
result
=
Double
.
parseDouble
(
df
.
format
(
Math
.
abs
((
inWt
+
goodsWt
-
grossWt
))
/
grossWt
));
//
todo:这里没有加空车离场判定,暂时不加,进口提货业务空车离场走空车验放判定系统.
//
带货提货,不提货判定,非空车离场
result2
=
Double
.
parseDouble
(
df
.
format
(
Math
.
abs
((
inWt
-
grossWt
))
/
grossWt
));
//个别原因不提货了,空车离场
...
...
@@ -116,25 +152,28 @@ public class WeightCheckHandleServiceImpl implements WeightCheckHandleService {
//车辆备案重量+货物重量 = 出场过磅重量,测试用,生产关闭
result1
=
Double
.
parseDouble
(
df
.
format
(
Math
.
abs
((
wt
+
goodsWt
-
grossWt
))
/
grossWt
));
//货重误差
//
带货提货,
货重误差
goodCheckResult
=
Double
.
parseDouble
(
df
.
format
(
Math
.
abs
((
grossWt
-
inWt
-
goodsWt
))
/
goodsWt
));
}
double
range
=
valueDob
();
log
.
info
(
"[WEIGHT-CHECK]-实际离场拉货重量:{},申请离场拉货重量:{},货重差值:{},货重误差:{}"
,
grossWt
-
inWt
,
goodsWt
,
grossWt
-
inWt
-
goodsWt
,
goodCheckResult
);
log
.
info
(
"[WEIGHT-CHECK]-进出场比对差值:{},提货离场差值:{},进出场比对重量差:{}"
,
result
,
result1
,
Math
.
abs
(
inWt
-
grossWt
));
if
(
result
<=
range
||
goodCheckResult
<=
range
)
{
if
(
result
<=
range
// || goodCheckResult<=range
)
{
flag
=
true
;
}
//车辆备案重量+货物重量 = 出场过磅重量,测试用,生产关闭
if
(
result1
<=
range
||
result2
<=
range
||
emptyOut
<=
range
)
{
// //车辆备案重量+货物重量 = 出场过磅重量,测试用,生产关闭
// if (result1 <= range || result2 <= range || emptyOut <= range) {
//
// return true;
// }
return
true
;
}
}
return
flag
;
}
...
...
src/main/java/com/sy/socket/CommandClient.java
查看文件 @
08378e5
...
...
@@ -3,7 +3,6 @@ package com.sy.socket;
import
com.sy.model.CommandInfoX22
;
import
com.sy.model.GatherInfo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
...
...
请
注册
或
登录
后发表评论