|
|
@ -1355,11 +1355,11 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
hasPnDeleted = true; |
|
|
hasPnDeleted = true; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查是否有PN或Qty的修改 |
|
|
// 检查是否有PN或Qty的修改 |
|
|
boolean hasPnOrQtyModified = excelList.stream() |
|
|
boolean hasPnOrQtyModified = excelList.stream() |
|
|
.anyMatch(item -> item.getModifyQtyFlag() != null && item.getModifyQtyFlag()); |
|
|
.anyMatch(item -> item.getModifyQtyFlag() != null && item.getModifyQtyFlag()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
coDelMapper.batchSaveEcssCoDelNotifyDetail(excelList); |
|
|
coDelMapper.batchSaveEcssCoDelNotifyDetail(excelList); |
|
|
headerData.setModifyFlag(true); |
|
|
headerData.setModifyFlag(true); |
|
|
// 更新头表字段,包括ReadyDate、ShippingMode、Destination |
|
|
// 更新头表字段,包括ReadyDate、ShippingMode、Destination |
|
|
@ -1551,7 +1551,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
boolean qtyChanged = !oldDetail.getQty().equals(newDetail.getQty()); |
|
|
boolean qtyChanged = !oldDetail.getQty().equals(newDetail.getQty()); |
|
|
boolean currencyChanged = !Objects.equals(oldDetail.getCurrency(), newDetail.getCurrency()); |
|
|
boolean currencyChanged = !Objects.equals(oldDetail.getCurrency(), newDetail.getCurrency()); |
|
|
boolean tpChanged = !Objects.equals(oldDetail.getTp(), newDetail.getTp()); |
|
|
boolean tpChanged = !Objects.equals(oldDetail.getTp(), newDetail.getTp()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 构建变更说明 |
|
|
// 构建变更说明 |
|
|
List<String> changes = new ArrayList<>(); |
|
|
List<String> changes = new ArrayList<>(); |
|
|
if (pnChanged) changes.add("换料"); |
|
|
if (pnChanged) changes.add("换料"); |
|
|
@ -1559,14 +1559,14 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
if (currencyChanged) changes.add("Currency变更"); |
|
|
if (currencyChanged) changes.add("Currency变更"); |
|
|
if (tpChanged) changes.add("TP变更"); |
|
|
if (tpChanged) changes.add("TP变更"); |
|
|
String changeDesc = changes.isEmpty() ? "-" : String.join("、", changes); |
|
|
String changeDesc = changes.isEmpty() ? "-" : String.join("、", changes); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// PN列 |
|
|
// PN列 |
|
|
if (pnChanged) { |
|
|
if (pnChanged) { |
|
|
table.append("<td>").append(oldDetail.getPn()).append(" → <span class='changed'>").append(newDetail.getPn()).append("</span></td>"); |
|
|
table.append("<td>").append(oldDetail.getPn()).append(" → <span class='changed'>").append(newDetail.getPn()).append("</span></td>"); |
|
|
} else { |
|
|
} else { |
|
|
table.append("<td>").append(newDetail.getPn()).append("</td>"); |
|
|
table.append("<td>").append(newDetail.getPn()).append("</td>"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 数量列 |
|
|
// 数量列 |
|
|
table.append("<td>").append(oldDetail.getQty().setScale(0, RoundingMode.HALF_UP)).append("</td>"); |
|
|
table.append("<td>").append(oldDetail.getQty().setScale(0, RoundingMode.HALF_UP)).append("</td>"); |
|
|
if (qtyChanged) { |
|
|
if (qtyChanged) { |
|
|
@ -1574,7 +1574,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
} else { |
|
|
} else { |
|
|
table.append("<td>").append(newDetail.getQty().setScale(0, RoundingMode.HALF_UP)).append("</td>"); |
|
|
table.append("<td>").append(newDetail.getQty().setScale(0, RoundingMode.HALF_UP)).append("</td>"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Currency列 |
|
|
// Currency列 |
|
|
String oldCurrency = oldDetail.getCurrency() != null ? oldDetail.getCurrency() : "-"; |
|
|
String oldCurrency = oldDetail.getCurrency() != null ? oldDetail.getCurrency() : "-"; |
|
|
String newCurrency = newDetail.getCurrency() != null ? newDetail.getCurrency() : "-"; |
|
|
String newCurrency = newDetail.getCurrency() != null ? newDetail.getCurrency() : "-"; |
|
|
@ -1584,7 +1584,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
} else { |
|
|
} else { |
|
|
table.append("<td>").append(newCurrency).append("</td>"); |
|
|
table.append("<td>").append(newCurrency).append("</td>"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TP列 |
|
|
// TP列 |
|
|
String oldTp = oldDetail.getTp() != null ? oldDetail.getTp().setScale(2, RoundingMode.HALF_UP).toString() : "-"; |
|
|
String oldTp = oldDetail.getTp() != null ? oldDetail.getTp().setScale(2, RoundingMode.HALF_UP).toString() : "-"; |
|
|
String newTp = newDetail.getTp() != null ? newDetail.getTp().setScale(2, RoundingMode.HALF_UP).toString() : "-"; |
|
|
String newTp = newDetail.getTp() != null ? newDetail.getTp().setScale(2, RoundingMode.HALF_UP).toString() : "-"; |
|
|
@ -1594,7 +1594,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
} else { |
|
|
} else { |
|
|
table.append("<td>").append(newTp).append("</td>"); |
|
|
table.append("<td>").append(newTp).append("</td>"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 变更说明列 |
|
|
// 变更说明列 |
|
|
if (!changes.isEmpty()) { |
|
|
if (!changes.isEmpty()) { |
|
|
table.append("<td class='changed'>").append(changeDesc).append("</td>"); |
|
|
table.append("<td class='changed'>").append(changeDesc).append("</td>"); |
|
|
@ -2255,6 +2255,10 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
} else { |
|
|
} else { |
|
|
notifyHeaderData = getCoDelNotifyHeaderData.get(0); |
|
|
notifyHeaderData = getCoDelNotifyHeaderData.get(0); |
|
|
} |
|
|
} |
|
|
|
|
|
List<EcssCoDelNotifyHeaderData> headerData = coDelMapper.checkEcssDeclarationHeaderByDelNo(inData.getSite(), inData.getDelNo()); |
|
|
|
|
|
if (!headerData.isEmpty()) { |
|
|
|
|
|
throw new RuntimeException("报关单已经存在,请刷新界面!"); |
|
|
|
|
|
} |
|
|
//获取重量 |
|
|
//获取重量 |
|
|
EcssCoDelPalletHeader getAllWeight = coDelMapper.getAllWeight(inData.getSite(), inData.getDelNo(),inData.getBuNo()); |
|
|
EcssCoDelPalletHeader getAllWeight = coDelMapper.getAllWeight(inData.getSite(), inData.getDelNo(),inData.getBuNo()); |
|
|
if (getAllWeight == null) { |
|
|
if (getAllWeight == null) { |
|
|
@ -2343,6 +2347,10 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
@Override |
|
|
@Override |
|
|
@Transactional |
|
|
@Transactional |
|
|
public void saveDeclaration(EcssDeclarationHeaderData inData) { |
|
|
public void saveDeclaration(EcssDeclarationHeaderData inData) { |
|
|
|
|
|
List<EcssCoDelNotifyHeaderData> getCoDelNotifyHeaderData = coDelMapper.checkEcssDeclarationHeaderByDelNo(inData.getSite(), inData.getDelNo()); |
|
|
|
|
|
if (!getCoDelNotifyHeaderData.isEmpty()) { |
|
|
|
|
|
throw new RuntimeException("报关单已经存在,请刷新界面!"); |
|
|
|
|
|
} |
|
|
String transNo; |
|
|
String transNo; |
|
|
coDelMapper.updateTransNo(inData.getSite(), "BG"); |
|
|
coDelMapper.updateTransNo(inData.getSite(), "BG"); |
|
|
transNo = coDelMapper.getTransNo(inData.getSite(), "BG"); |
|
|
transNo = coDelMapper.getTransNo(inData.getSite(), "BG"); |
|
|
@ -5237,7 +5245,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 改单导入后处理通知单状态 |
|
|
* 改单导入后处理通知单状态 |
|
|
* |
|
|
|
|
|
|
|
|
* |
|
|
* <p><b>处理逻辑:</b></p> |
|
|
* <p><b>处理逻辑:</b></p> |
|
|
* <ul> |
|
|
* <ul> |
|
|
* <li>如果当前状态是已报关,删除对应的报关单</li> |
|
|
* <li>如果当前状态是已报关,删除对应的报关单</li> |
|
|
|