|
|
@@ -64,8 +64,12 @@ import org.springblade.los.box.service.IPutBoxService;
|
|
|
import org.springblade.los.box.service.ITradingBoxItemService;
|
|
|
import org.springblade.los.business.sea.entity.Bills;
|
|
|
import org.springblade.los.business.sea.entity.Containers;
|
|
|
+import org.springblade.los.business.sea.entity.PreContainers;
|
|
|
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
|
|
|
import org.springblade.los.business.sea.mapper.BillsMapper;
|
|
|
import org.springblade.los.business.sea.service.IContainersService;
|
|
|
+import org.springblade.los.business.sea.service.IPreContainersService;
|
|
|
+import org.springblade.los.business.sea.service.ISeaContainerNumberItemService;
|
|
|
import org.springblade.los.finance.fee.entity.FeeCenter;
|
|
|
import org.springblade.los.finance.fee.service.IFeeCenterService;
|
|
|
import org.springblade.los.ftp.dto.ApiItem;
|
|
|
@@ -138,6 +142,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
|
|
|
private final IContainersService containersService;
|
|
|
|
|
|
+ private final IPreContainersService preContainersService;
|
|
|
+
|
|
|
+ private final ISeaContainerNumberItemService seaContainerNumberItemService;
|
|
|
+
|
|
|
private final IStorageFeesService storageFeesService;
|
|
|
|
|
|
private final IStorageFeesItemsService storageFeesItemsService;
|
|
|
@@ -168,7 +176,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
}
|
|
|
List<String> boxCodeList = excelList.stream().map(EmptyContainerAppearance::getBoxCode).filter(Objects::nonNull)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
- if (boxCodeList.size()!=excelList.size()){
|
|
|
+ if (boxCodeList.size() != excelList.size()) {
|
|
|
throw new SecurityException("箱号存在重复数据");
|
|
|
}
|
|
|
List<String> containerNumber = excelList.stream().map(EmptyContainerAppearance::getContainerNumber).filter(Objects::nonNull)
|
|
|
@@ -258,13 +266,13 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
recordItems.setObjective("XX");
|
|
|
} else if ("直接退租进场".equals(item.getObjective()) || "ZI".equals(item.getObjective())) {
|
|
|
recordItems.setObjective("ZI");
|
|
|
- }else if ("直接调运进场".equals(item.getObjective()) || "ZJ".equals(item.getObjective())) {
|
|
|
+ } else if ("直接调运进场".equals(item.getObjective()) || "ZJ".equals(item.getObjective())) {
|
|
|
recordItems.setObjective("ZJ");
|
|
|
} else if ("起租箱进场".equals(item.getObjective()) || "QX".equals(item.getObjective())) {
|
|
|
recordItems.setObjective("QX");
|
|
|
- }else if ("场内起租进场".equals(item.getObjective()) || "QZ".equals(item.getObjective())) {
|
|
|
+ } else if ("场内起租进场".equals(item.getObjective()) || "QZ".equals(item.getObjective())) {
|
|
|
recordItems.setObjective("QZ");
|
|
|
- }else if ("退租箱进场".equals(item.getObjective()) || "T".equals(item.getObjective())) {
|
|
|
+ } else if ("退租箱进场".equals(item.getObjective()) || "T".equals(item.getObjective())) {
|
|
|
recordItems.setObjective("T");
|
|
|
} else if ("内点摆箱".equals(item.getObjective()) || "BX".equals(item.getObjective())) {
|
|
|
recordItems.setObjective("BX");
|
|
|
@@ -2999,7 +3007,11 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
}
|
|
|
if (!itemsList.isEmpty()) {
|
|
|
if (!"同步失败".equals(boxDynamicsRecord.getSynchronizationStatus())) {
|
|
|
- this.synchronizationV1(boxDynamicsRecord, itemsList, "2");
|
|
|
+ Boolean status = this.synchronizationV1(boxDynamicsRecord, itemsList, "2");
|
|
|
+ if (!status) {
|
|
|
+ boxDynamicsRecord.setSynchronizationStatus("同步失败");
|
|
|
+ baseMapper.updateById(boxDynamicsRecord);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return R.success("成功");
|
|
|
@@ -3593,7 +3605,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
List<BoxDynamicsRecordItems> itemsListDLX = itemsListFCs.stream().filter(e -> boxNumList.contains(e.getBoxCode())).collect(Collectors.toList());
|
|
|
//箱档案不存在的箱
|
|
|
if (!itemsListDLX.isEmpty()) {
|
|
|
- this.synchronization(itemsListDLX, boxDynamicsRecord, type);
|
|
|
+ Boolean status = this.synchronization(itemsListDLX, boxDynamicsRecord, type);
|
|
|
+ if (!status) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
//重新添加存在箱档案的客户还箱数据
|
|
|
for (BoxDynamicsRecordItems item : itemsListFCs) {
|
|
|
@@ -4374,7 +4389,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
TradingBox tradingBox = tradingBoxList.stream().filter(e -> e.getId().equals(putBox.getSrcId()))
|
|
|
.findFirst().orElse(null);
|
|
|
if (tradingBox != null) {
|
|
|
- if ((tradingBox.getPolId()+"").equals(tradingBox.getPodId())) {
|
|
|
+ if ((tradingBox.getPolId() + "").equals(tradingBox.getPodId())) {
|
|
|
samePort = false;
|
|
|
}
|
|
|
if (!tradingBoxes.isEmpty()) {
|
|
|
@@ -4722,7 +4737,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
}
|
|
|
//退租箱进场
|
|
|
List<BoxDynamicsRecordItems> itemsListTZX = itemsList.stream().filter(e -> ("T".equals(e.getObjective()) ||
|
|
|
- "CT".equals(e.getObjective()) || "ZI".equals(e.getObjective())) ).collect(Collectors.toList());
|
|
|
+ "CT".equals(e.getObjective()) || "ZI".equals(e.getObjective()))).collect(Collectors.toList());
|
|
|
if (!itemsListTZX.isEmpty()) {
|
|
|
Boolean status = this.terminateTheLease(itemsListTZX, boxDynamicsRecord, type);
|
|
|
if (!status) {
|
|
|
@@ -5234,19 +5249,31 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
List<String> hblno = itemsListCC.stream().map(BoxDynamicsRecordItems::getHblno).filter(Objects::nonNull)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
List<Containers> containersList = new ArrayList<>();
|
|
|
+ List<PreContainers> preContainersList = new ArrayList<>();
|
|
|
+ List<PreContainers> preContainersListNew = new ArrayList<>();
|
|
|
+ List<SeaContainerNumberItem> containerNumberItemList = new ArrayList<>();
|
|
|
+ List<SeaContainerNumberItem> containerNumberItemListNew = new ArrayList<>();
|
|
|
List<Containers> containersListNew = new ArrayList<>();
|
|
|
List<Bills> billsList = new ArrayList<>();
|
|
|
if (!hblno.isEmpty()) {
|
|
|
billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getTenantId, boxDynamicsRecord.getTenantId())
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
.eq(Bills::getBusinessType, "SE")
|
|
|
.in(Bills::getHblno, hblno));
|
|
|
if (!billsList.isEmpty()) {
|
|
|
containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
- .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getTenantId, boxDynamicsRecord.getTenantId())
|
|
|
.eq(Containers::getIsDeleted, 0)
|
|
|
.in(Containers::getPid, billsList.stream().map(Bills::getId).collect(Collectors.toList())));
|
|
|
+ preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getTenantId, boxDynamicsRecord.getTenantId())
|
|
|
+ .eq(PreContainers::getIsDeleted, 0)
|
|
|
+ .in(PreContainers::getPid, billsList.stream().map(Bills::getId).collect(Collectors.toList())));
|
|
|
+ containerNumberItemList = seaContainerNumberItemService.list(new LambdaQueryWrapper<SeaContainerNumberItem>()
|
|
|
+ .eq(SeaContainerNumberItem::getTenantId, boxDynamicsRecord.getTenantId())
|
|
|
+ .eq(SeaContainerNumberItem::getIsDeleted, 0)
|
|
|
+ .in(SeaContainerNumberItem::getPid, billsList.stream().map(Bills::getId).collect(Collectors.toList())));
|
|
|
}
|
|
|
}
|
|
|
List<PutBox> putBoxList = putBoxService.list(new LambdaQueryWrapper<PutBox>()
|
|
|
@@ -5551,7 +5578,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
} else {
|
|
|
tradingBoxItem.setPolStationEmptyContainerExitDate(new Date());
|
|
|
}
|
|
|
- tradingBoxItem.setStatus("待使用");
|
|
|
+ tradingBoxItem.setStatus("使用中");
|
|
|
tradingBoxItem.setCorpId(bills.getCorpId());
|
|
|
tradingBoxItem.setCorpName(bills.getCorpCnName());
|
|
|
tradingBoxItem.setHblno(bills.getHblno());
|
|
|
@@ -5602,7 +5629,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
} else {
|
|
|
tradingBoxItem.setPolStationEmptyContainerExitDate(new Date());
|
|
|
}
|
|
|
- tradingBoxItem.setStatus("待使用");
|
|
|
+ tradingBoxItem.setStatus("使用中");
|
|
|
tradingBoxItem.setCorpId(bills.getCorpId());
|
|
|
tradingBoxItem.setCorpName(bills.getCorpCnName());
|
|
|
tradingBoxItem.setHblno(bills.getHblno());
|
|
|
@@ -5652,7 +5679,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
} else {
|
|
|
tradingBoxItem.setPolStationEmptyContainerExitDate(new Date());
|
|
|
}
|
|
|
- tradingBoxItem.setStatus("待使用");
|
|
|
+ tradingBoxItem.setStatus("使用中");
|
|
|
tradingBoxItem.setCorpId(bills.getCorpId());
|
|
|
tradingBoxItem.setCorpName(bills.getCorpCnName());
|
|
|
tradingBoxItem.setHblno(bills.getHblno());
|
|
|
@@ -5711,6 +5738,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
containers.setPolCyCname(item.getStationCname());
|
|
|
containers.setPolCyEname(item.getStationEname());
|
|
|
containers.setPolStationEmptyContainerExitDate(item.getApproachExitDate());
|
|
|
+ containers.setPodStationId(putBoxData.getPodStationId());
|
|
|
+ containers.setPodStationCode(putBoxData.getPodStationCode());
|
|
|
+ containers.setPodStationCname(putBoxData.getPodStationCname());
|
|
|
+ containers.setPodStationEname(putBoxData.getPodStationEname());
|
|
|
containers.setContainerNumber(item.getContainerNumber());
|
|
|
containers.setBoxSrcType(putBoxData.getBoxClass());
|
|
|
containersListNew.add(containers);
|
|
|
@@ -5777,10 +5808,25 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
if (!containers.isEmpty()) {
|
|
|
long size = containers.stream().filter(e -> ObjectUtils.isNotNull(e.getContainerNumber()) &&
|
|
|
e.getContainerNumber().equals(item.getContainerNumber()) && boxList.contains(e.getCntrNo())).count();
|
|
|
+ if (!containerNumberItemList.isEmpty()) {
|
|
|
+ SeaContainerNumberItem containerNumberItems = containerNumberItemList.stream().filter(e -> e.getSrcId().equals(item.getId())).findFirst().orElse(null);
|
|
|
+ if (containerNumberItems != null) {
|
|
|
+ containerNumberItems.setWhetherAppearStatus("1");
|
|
|
+ containerNumberItemListNew.add(containerNumberItems);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!preContainersList.isEmpty()) {
|
|
|
+ PreContainers preContainers = preContainersList.stream().filter(e -> e.getPid().equals(containers.get(0).getPid()) &&
|
|
|
+ item.getBoxType().equals(e.getCntrTypeCode())).findFirst().orElse(null);
|
|
|
+ if (preContainers != null) {
|
|
|
+ preContainers.setWhetherAppearStatus("1");
|
|
|
+ preContainersListNew.add(preContainers);
|
|
|
+ }
|
|
|
+ }
|
|
|
item.setOccupyNum(item.getOccupyNum() - Integer.parseInt(size + ""));
|
|
|
if (item.getOccupyNum() < 0) {
|
|
|
// throw new RuntimeException("放箱号:" + item.getContainerNumber() + "箱号未被操作占用");
|
|
|
- failureHandling(type, boxDynamicsRecord, "放箱号:" + item.getContainerNumber() + "箱号未被操作占用");
|
|
|
+ failureHandling(type, boxDynamicsRecord, "放箱号:" + item.getContainerNumber() + "操作占用数量不足,操作失败");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
@@ -5819,6 +5865,12 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (!preContainersListNew.isEmpty()) {
|
|
|
+ preContainersService.updateBatchById(preContainersListNew);
|
|
|
+ }
|
|
|
+ if (!containerNumberItemListNew.isEmpty()) {
|
|
|
+ seaContainerNumberItemService.updateBatchById(containerNumberItemListNew);
|
|
|
+ }
|
|
|
putBoxService.saveOrUpdateBatch(putBoxList1);
|
|
|
if (!putBoxListOld.isEmpty()) {
|
|
|
List<PutBox> putBoxListNew = new ArrayList<>();
|
|
|
@@ -5946,6 +5998,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
}
|
|
|
boxDynamicsRecordItemsService.updateBatchById(itemsList);
|
|
|
boxDynamicsRecord.setSynchronizationStatus("同步成功");
|
|
|
+ boxDynamicsRecord.setReason("");
|
|
|
boxDynamicsRecordMapper.updateById(boxDynamicsRecord);
|
|
|
return true;
|
|
|
}
|
|
|
@@ -5963,7 +6016,8 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
private Boolean countOverdueFee(List<PutBox> putBoxList, List<TradingBox> tradingBoxList, List<TradingBoxItem> tradingBoxItemOldList,
|
|
|
List<Containers> containersListNew, List<PutBoxItems> putBoxItems
|
|
|
, BoxDynamicsRecord boxDynamicsRecord, String type) throws IOException {
|
|
|
- List<FeeCenter> feeCenterList = new ArrayList<>();
|
|
|
+ List<FeeCenter> feeCenterListD = new ArrayList<>();
|
|
|
+ List<FeeCenter> feeCenterListC = new ArrayList<>();
|
|
|
List<PutBoxItems> putBoxItemsList = new ArrayList<>();
|
|
|
List<TradingBoxItem> tradingBoxItemList = new ArrayList<>();
|
|
|
List<String> mblnoList = putBoxItems.stream().map(PutBoxItems::getHblno).collect(Collectors.toList());
|
|
|
@@ -6081,7 +6135,6 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
if (overdueDays > 0) {
|
|
|
FeeCenter feeCenter = this.addFeeCenter(item, bills, fees, storageFeesItems, curExrateList, overdueDays, exrateType);
|
|
|
if (feeCenter != null) {
|
|
|
- feeCenterList.add(feeCenter);
|
|
|
FeeCenter feeCenterC = new FeeCenter();
|
|
|
BeanUtil.copyProperties(feeCenter, feeCenterC);
|
|
|
feeCenterC.setPid(bills.getId());
|
|
|
@@ -6096,7 +6149,30 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
feeCenterC.setAmount(feeCenterC.getQuantity().multiply(feeCenterC.getPrice()));
|
|
|
feeCenterC.setAmountLoc(feeCenterC.getAmount().multiply(feeCenter.getExrate()));
|
|
|
feeCenterC.setUnsettledAmount(feeCenterC.getAmount());
|
|
|
- feeCenterList.add(feeCenterC);
|
|
|
+ if (feeCenterListD.isEmpty()){
|
|
|
+ feeCenterListD.add(feeCenter);
|
|
|
+ feeCenterListC.add(feeCenterC);
|
|
|
+ }else{
|
|
|
+ FeeCenter feeCenterD = feeCenterListD.stream().filter(e-> e.getPid().equals(feeCenter.getPid()) &&
|
|
|
+ e.getUnitNo().equals(feeCenter.getUnitNo())).findFirst().orElse(null);
|
|
|
+ if (feeCenterD != null){
|
|
|
+ feeCenterD.setQuantity(feeCenterD.getQuantity().add(new BigDecimal("1")));
|
|
|
+ feeCenterD.setAmount(feeCenterD.getQuantity().multiply(feeCenterD.getPrice()));
|
|
|
+ feeCenterD.setAmountLoc(feeCenterD.getAmount().multiply(feeCenterD.getExrate()));
|
|
|
+ feeCenterD.setUnsettledAmount(feeCenterD.getAmount());
|
|
|
+ FeeCenter feeCentersC = feeCenterListC.stream().filter(e-> e.getPid().equals(feeCenterC.getPid()) &&
|
|
|
+ e.getUnitNo().equals(feeCenterC.getUnitNo())).findFirst().orElse(null);
|
|
|
+ if (feeCentersC != null) {
|
|
|
+ feeCentersC.setQuantity(feeCentersC.getQuantity().add(new BigDecimal("1")));
|
|
|
+ feeCentersC.setAmount(feeCentersC.getQuantity().multiply(feeCentersC.getPrice()));
|
|
|
+ feeCentersC.setAmountLoc(feeCentersC.getAmount().multiply(feeCentersC.getExrate()));
|
|
|
+ feeCentersC.setUnsettledAmount(feeCentersC.getAmount());
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ feeCenterListD.add(feeCenter);
|
|
|
+ feeCenterListC.add(feeCenterC);
|
|
|
+ }
|
|
|
+ }
|
|
|
item.setPolOverdueBoxUseDays(Integer.parseInt(days + ""));
|
|
|
}
|
|
|
putBoxItemsList.add(item);
|
|
|
@@ -6131,8 +6207,11 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
} else {
|
|
|
tradingBoxItemService.saveOrUpdateBatch(tradingBoxItemOldList);
|
|
|
}
|
|
|
- if (!feeCenterList.isEmpty()) {
|
|
|
- feeCenterService.saveBatch(feeCenterList);
|
|
|
+ if (!feeCenterListD.isEmpty()) {
|
|
|
+ feeCenterService.saveBatch(feeCenterListD);
|
|
|
+ }
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ feeCenterService.saveBatch(feeCenterListC);
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
@@ -6249,7 +6328,8 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
feeCenter.setUnsettledAmount(amount);
|
|
|
feeCenter.setPrice(amount);
|
|
|
feeCenter.setRemarks(text);
|
|
|
- feeCenter.setQuantity(new BigDecimal("1"));
|
|
|
+ int quantity = bills.getQuantityV20()+bills.getQuantityV40()+bills.getQuantityV45()+bills.getQuantityV48()+bills.getQuantityV40hc();
|
|
|
+ feeCenter.setQuantity(new BigDecimal(quantity));
|
|
|
feeCenter.setBillNo(bills.getBillNo());
|
|
|
feeCenter.setBusinessType(bills.getBusinessType());
|
|
|
feeCenter.setBillDate(bills.getBillDate());
|
|
|
@@ -6272,7 +6352,8 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
private Boolean countOverdueFeeV1(Bills billsHYJK, List<TradingBox> tradingBoxList,
|
|
|
List<TradingBoxItem> tradingBoxItemOldList, List<PutBoxItems> putBoxItemsOldList,
|
|
|
List<PutBox> putBoxList, BoxDynamicsRecord boxDynamicsRecord, String type) throws IOException {
|
|
|
- List<FeeCenter> feeCenterList = new ArrayList<>();
|
|
|
+ List<FeeCenter> feeCenterListD = new ArrayList<>();
|
|
|
+ List<FeeCenter> feeCenterListC = new ArrayList<>();
|
|
|
List<PutBoxItems> putBoxItemsList = new ArrayList<>();
|
|
|
List<TradingBoxItem> tradingBoxItemList = new ArrayList<>();
|
|
|
//超期标准
|
|
|
@@ -6363,7 +6444,6 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
if (overdueDays > 0) {
|
|
|
FeeCenter feeCenter = this.addFeeCenter(item, billsHYJK, fees, storageFeesItems, curExrateList, overdueDays, exrateType);
|
|
|
if (feeCenter != null) {
|
|
|
- feeCenterList.add(feeCenter);
|
|
|
FeeCenter feeCenterC = new FeeCenter();
|
|
|
BeanUtil.copyProperties(feeCenter, feeCenterC);
|
|
|
feeCenterC.setDc("C");
|
|
|
@@ -6377,7 +6457,31 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
feeCenterC.setAmount(feeCenterC.getQuantity().multiply(feeCenterC.getPrice()));
|
|
|
feeCenterC.setAmountLoc(feeCenterC.getAmount().multiply(feeCenter.getExrate()));
|
|
|
feeCenterC.setUnsettledAmount(feeCenterC.getAmount());
|
|
|
- feeCenterList.add(feeCenterC);
|
|
|
+
|
|
|
+ if (feeCenterListD.isEmpty()){
|
|
|
+ feeCenterListD.add(feeCenter);
|
|
|
+ feeCenterListC.add(feeCenterC);
|
|
|
+ }else{
|
|
|
+ FeeCenter feeCenterD = feeCenterListD.stream().filter(e-> e.getPid().equals(feeCenter.getPid()) &&
|
|
|
+ e.getUnitNo().equals(feeCenter.getUnitNo())).findFirst().orElse(null);
|
|
|
+ if (feeCenterD != null){
|
|
|
+ feeCenterD.setQuantity(feeCenterD.getQuantity().add(new BigDecimal("1")));
|
|
|
+ feeCenterD.setAmount(feeCenterD.getQuantity().multiply(feeCenterD.getPrice()));
|
|
|
+ feeCenterD.setAmountLoc(feeCenterD.getAmount().multiply(feeCenterD.getExrate()));
|
|
|
+ feeCenterD.setUnsettledAmount(feeCenterD.getAmount());
|
|
|
+ FeeCenter feeCentersC = feeCenterListC.stream().filter(e-> e.getPid().equals(feeCenterC.getPid()) &&
|
|
|
+ e.getUnitNo().equals(feeCenterC.getUnitNo())).findFirst().orElse(null);
|
|
|
+ if (feeCentersC != null) {
|
|
|
+ feeCentersC.setQuantity(feeCentersC.getQuantity().add(new BigDecimal("1")));
|
|
|
+ feeCentersC.setAmount(feeCentersC.getQuantity().multiply(feeCentersC.getPrice()));
|
|
|
+ feeCentersC.setAmountLoc(feeCentersC.getAmount().multiply(feeCentersC.getExrate()));
|
|
|
+ feeCentersC.setUnsettledAmount(feeCentersC.getAmount());
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ feeCenterListD.add(feeCenter);
|
|
|
+ feeCenterListC.add(feeCenterC);
|
|
|
+ }
|
|
|
+ }
|
|
|
item.setPodBoxUseDays(Integer.parseInt(days + ""));
|
|
|
}
|
|
|
putBoxItemsList.add(item);
|
|
|
@@ -6411,8 +6515,11 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
|
|
|
} else {
|
|
|
tradingBoxItemService.saveOrUpdateBatch(tradingBoxItemOldList);
|
|
|
}
|
|
|
- if (!feeCenterList.isEmpty()) {
|
|
|
- feeCenterService.saveBatch(feeCenterList);
|
|
|
+ if (!feeCenterListD.isEmpty()) {
|
|
|
+ feeCenterService.saveBatch(feeCenterListD);
|
|
|
+ }
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ feeCenterService.saveBatch(feeCenterListC);
|
|
|
}
|
|
|
return true;
|
|
|
}
|