📄 preadvicepagehelper.java
字号:
shipmentEquipmentList.addAll(PreAdviceUtil.generateAdviceEquipmentFromStuffing(sessionContext, soList1));
isEquipmentReadOnly = true;
}
} else {
shipmentEquipmentList.removeAll(PreAdviceUtil.getProposedContainers(advice, map));
shipmentEquipmentList.addAll(getGeneratePreAdviceService().generateAdviceEquipmentFromCRR(soList1));
isEquipmentReadOnly = false;
}
} else if (PreAdvicePageConstants.NODE_TYPE_AIR.equals(map.get(PreAdvicePageConstants.NODE_TYPE_BIZ_TYPE))) {
isEquipmentReadOnly = true;
} else {
throw new UnSupportedPreAdviceOperationException("Unsupported equipments retrieved logic for biz type:" + map.get(PreAdvicePageConstants.NODE_TYPE_BIZ_TYPE));
}
// }
return isEquipmentReadOnly;
}
private double[] fillBizTypeGroupInfo(List customizedFields, DataPacket dpOut, List newSOCargos, List deletedSOCargos, Map bizTypeGroup, String bizType, String parentIndex) throws Exception {
// summary
long bizTypeNoOfPack = 0;
long bizTypeUnits = 0;
double bizTypeVol = 0;
double bizTypeGwt = 0;
List soList1 = (List) bizTypeGroup.get(bizType);
// if has deleted in this group
List deletedSOCargoInGroup = PreAdviceUtil.getSOIntersection(soList1, deletedSOCargos);
// soList1.removeAll(deletedSOCargoInGroup);
if (soList1.size() == deletedSOCargoInGroup.size()) {
return new double[] { 0, 0, 0.0, 0.0 };
}
String[] bizTypeReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_BIZ_TYPE, parentIndex);
dpOut.putNodeString(bizTypeReturn[1] + ".biz_type", bizType);
Map typeOfMovementGroup = groupSOList(soList1, PreAdvicePageConstants.NODE_TYPE_TYPE_OF_MOVEMENT);
Object[] typeOfMovementGroupKeyArray = typeOfMovementGroup.keySet().toArray();
for (int i1 = 0; i1 < typeOfMovementGroupKeyArray.length; i1++) {
double[] typeOfMovementSum = fillTypeOfMovementGroupInfo(customizedFields, dpOut, newSOCargos, deletedSOCargos, typeOfMovementGroup, typeOfMovementGroupKeyArray[i1].toString(), bizType,
bizTypeReturn[0]);
bizTypeNoOfPack += typeOfMovementSum[0];
bizTypeUnits += typeOfMovementSum[1];
bizTypeVol += typeOfMovementSum[2];
bizTypeGwt += typeOfMovementSum[3];
}
fillTotalInfo(dpOut, bizTypeNoOfPack, bizTypeUnits, bizTypeVol, bizTypeGwt, bizTypeReturn[1]);
return new double[] { bizTypeNoOfPack, bizTypeUnits, bizTypeVol, bizTypeGwt };
}
private double[] fillContainerGroupInfo(List customizedFields, DataPacket dpOut, Map containerGroup, String typeOfMovement, String stuffingCargoOid, String parentIndex) throws Exception {
long containerNoOfPack = 0;
long containerUnits = 0;
double containerVol = 0;
double containerGwt = 0;
List stuffingPackageList1 = (List) containerGroup.get(stuffingCargoOid);
String[] containerReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_CONTAINER, parentIndex);
dpOut.putNodeString(containerReturn[1] + ".type_of_movement", typeOfMovement);
dpOut.putNodeString(containerReturn[1] + ".size_type", getNodeText(PreAdvicePageConstants.NODE_TYPE_CONTAINER, stuffingCargoOid));
StuffingCargo stuffingCargo = ((StuffingPackage) stuffingPackageList1.get(0)).getTheStuffingCargo();
dpOut.putNodeString(containerReturn[1] + ".sf_oid", stuffingCargo.getOid().toString());
dpOut.putNodeString(containerReturn[1] + ".is_stuff", "true");
boolean hasException;
try {
hasException = getStuffingService().checkException(stuffingCargo);
} catch (UnsupportedStuffingCargoTypeException e) {
hasException = false;
}
dpOut.putNodeString(containerReturn[1] + ".stuffing_exception", hasException ? "true" : "false");
Map divisionGroup = groupStuffingPackageList(stuffingPackageList1, PreAdvicePageConstants.NODE_TYPE_DIVISION);
Object[] divisionGroupKeyArray = divisionGroup.keySet().toArray();
for (int i1 = 0; i1 < divisionGroupKeyArray.length; i1++) {
double[] divisionSum = fillDivisionGroupStuffingInfo(customizedFields, dpOut, divisionGroup, divisionGroupKeyArray[i1].toString(), containerReturn[0]);
containerNoOfPack += divisionSum[0];
containerUnits += divisionSum[1];
containerVol += divisionSum[2];
containerGwt += divisionSum[3];
}
fillTotalInfo(dpOut, containerNoOfPack, containerUnits, containerVol, containerGwt, containerReturn[1]);
return new double[] { containerNoOfPack, containerUnits, containerVol, containerGwt };
}
private double[] fillForwarderGroupInfo4VDL(List customizedFields, DataPacket dpOut, Map forwarderGroup, String forwarder, String typeOfMovement, String bizType, String parentIndex)
throws Exception {
long forwarderNoOfPack = 0;
long forwarderUnits = 0;
double forwarderVol = 0;
double forwarderGwt = 0;
List soList1 = (List) forwarderGroup.get(forwarder);
String[] forwarderReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_FORWARDER, parentIndex);
dpOut.putNodeString(forwarderReturn[1] + ".type_of_movement", PreAdvicePageConstants.NODE_TYPE_AIR.equals(typeOfMovement) ? "" : typeOfMovement);
dpOut.putNodeString(forwarderReturn[1] + ".biz_type", bizType);
dpOut.putNodeString(forwarderReturn[1] + ".forwarder", forwarder);
dpOut.putNodeString(forwarderReturn[1] + ".is_stuff", "false");
dpOut.putNodeString(forwarderReturn[1] + ".sf_oid", "");
Map divisionGroup = groupSOList(soList1, PreAdvicePageConstants.NODE_TYPE_DIVISION);
Object[] divisionGroupKeyArray = divisionGroup.keySet().toArray();
for (int i1 = 0; i1 < divisionGroupKeyArray.length; i1++) {
double[] divisionSum = fillDivisionGroupInfo(customizedFields, dpOut, divisionGroup, divisionGroupKeyArray[i1].toString(), forwarderReturn[0]);
forwarderNoOfPack += divisionSum[0];
forwarderUnits += divisionSum[1];
forwarderVol += divisionSum[2];
forwarderGwt += divisionSum[3];
}
fillTotalInfo(dpOut, forwarderNoOfPack, forwarderUnits, forwarderVol, forwarderGwt, forwarderReturn[1]);
return new double[] { forwarderNoOfPack, forwarderUnits, forwarderVol, forwarderGwt };
}
private double[] fillForwarderGroupInfo(List customizedFields, DataPacket dpOut, Map forwarderGroup, String forwarder, String typeOfMovement, String bizType, String parentIndex) throws Exception {
long forwarderNoOfPack = 0;
long forwarderUnits = 0;
double forwarderVol = 0;
double forwarderGwt = 0;
List soList1 = (List) forwarderGroup.get(forwarder);
String[] forwarderReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_FORWARDER, parentIndex);
dpOut.putNodeString(forwarderReturn[1] + ".type_of_movement", typeOfMovement);
dpOut.putNodeString(forwarderReturn[1] + ".biz_type", bizType);
dpOut.putNodeString(forwarderReturn[1] + ".is_stuff", "false");
if (!TypeOfMovementConstant.CFS_CFS.equals(typeOfMovement)) {
dpOut.putNodeString(forwarderReturn[1] + ".size_type_memo", "Stuffing not planned.");
} else {
dpOut.putNodeString(forwarderReturn[1] + ".size_type_memo", "");
}
dpOut.putNodeString(forwarderReturn[1] + ".forwarder", forwarder);
Map divisionGroup = groupSOList(soList1, PreAdvicePageConstants.NODE_TYPE_DIVISION);
Object[] divisionGroupKeyArray = divisionGroup.keySet().toArray();
for (int i1 = 0; i1 < divisionGroupKeyArray.length; i1++) {
double[] divisionSum = fillDivisionGroupInfo(customizedFields, dpOut, divisionGroup, divisionGroupKeyArray[i1].toString(), forwarderReturn[0]);
forwarderNoOfPack += divisionSum[0];
forwarderUnits += divisionSum[1];
forwarderVol += divisionSum[2];
forwarderGwt += divisionSum[3];
}
fillTotalInfo(dpOut, forwarderNoOfPack, forwarderUnits, forwarderVol, forwarderGwt, forwarderReturn[1]);
return new double[] { forwarderNoOfPack, forwarderUnits, forwarderVol, forwarderGwt };
}
private double[] fillForwarderGroupInfo4Stuffing(List customizedFields, DataPacket dpOut, Map forwarderGroup, String typeOfMovement, String bizType, String forwarder, String parentIndex)
throws Exception {
long forwarderNoOfPack = 0;
long forwarderUnits = 0;
double forwarderVol = 0;
double forwarderGwt = 0;
List stuffingPackageList1 = (List) forwarderGroup.get(forwarder);
String[] forwarderReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_FORWARDER, parentIndex);
dpOut.putNodeString(forwarderReturn[1] + ".type_of_movement", typeOfMovement);
dpOut.putNodeString(forwarderReturn[1] + ".biz_type", bizType);
dpOut.putNodeString(forwarderReturn[1] + ".forwarder", forwarder);
dpOut.putNodeString(forwarderReturn[1] + ".is_stuff", "true");
Map containerGroup = groupStuffingPackageList(stuffingPackageList1, PreAdvicePageConstants.NODE_TYPE_CONTAINER);
Object[] containerGroupKeyArray = containerGroup.keySet().toArray();
for (int i1 = 0; i1 < containerGroupKeyArray.length; i1++) {
double[] containerSum = fillContainerGroupInfo(customizedFields, dpOut, containerGroup, typeOfMovement, containerGroupKeyArray[i1].toString(), parentIndex);
forwarderNoOfPack += containerSum[0];
forwarderUnits += containerSum[1];
forwarderVol += containerSum[2];
forwarderGwt += containerSum[3];
}
fillTotalInfo(dpOut, forwarderNoOfPack, forwarderUnits, forwarderVol, forwarderGwt, forwarderReturn[1]);
return new double[] { forwarderNoOfPack, forwarderUnits, forwarderVol, forwarderGwt };
}
private double[] fillDivisionGroupInfo(List customizedFields, DataPacket dpOut, Map divisionGroup, String division, String parentIndex) throws Exception {
// summary
long divisionNoOfPack = 0;
long divisionUnits = 0;
double divisionVol = 0;
double divisionGwt = 0;
List soList1 = (List) divisionGroup.get(division);
String[] divisionReturn = addNode(dpOut, PreAdvicePageConstants.NODE_TYPE_DIVISION, parentIndex);
dpOut.putNodeString(divisionReturn[1] + ".division_oid", division);
dpOut.putNodeString(divisionReturn[1] + ".division", getNodeText(PreAdvicePageConstants.NODE_TYPE_DIVISION, division));
dpOut.putNodeString(divisionReturn[1] + ".from_stuffing", "false");
Map fndGroup = groupSOList(soList1, PreAdvicePageConstants.NODE_TYPE_FND);
Object[] fndKeyArray = fndGroup.keySet().toArray();
if (showFND || fndKeyArray.length > 1) {
for (int i1 = 0; i1 < fndKeyArray.length; i1++) {
double[] fndSum = fillFNDGroupInfo(customizedFields, dpOut, fndKeyArray[i1].toString(), fndGroup, divisionReturn[0]);
divisionNoOfPack += fndSum[0];
divisionUnits += fndSum[1];
divisionVol += fndSum[2];
divisionGwt += fndSum[3];
}
} else {
double[] soSum = fillSOGroupInfo(customizedFields, dpOut, soList1, divisionReturn[0]);
divisionNoOfPack += soSum[0];
divisionUnits += soSum[1];
divisionVol += soSum[2];
divisionGwt += soSum[3];
}
fillTotalInfo(dpOut, divisionNoOfPack, divisionUnits, divisionVol, divisionGwt, divisionReturn[1]);
return new double[] { divisionNoOfPack, divisionUnits, divisionVol, divisionGwt };
}
private double[] fillDivisionGroupStuffingInfo(List customizedFields, DataPacket dpOut, Map divisionGroup, String division, String parentIndex) throws Exception {
// summary
long divisionNoOfPack = 0;
long divisionUnits = 0;
double divisionVol = 0;
double divisionGwt = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -