|
|
@@ -0,0 +1,358 @@
|
|
|
+package org.springblade.los.Util;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.core.secure.utils.AuthUtil;
|
|
|
+import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.StringUtil;
|
|
|
+import org.springblade.los.box.entity.ArchivesTrajectory;
|
|
|
+import org.springblade.los.box.entity.PutBoxItems;
|
|
|
+import org.springblade.los.box.entity.TradingBoxItem;
|
|
|
+import org.springblade.los.box.service.IArchivesTrajectoryService;
|
|
|
+import org.springblade.los.box.service.IPutBoxItemsService;
|
|
|
+import org.springblade.los.box.service.ITradingBoxItemService;
|
|
|
+import org.springblade.los.business.amends.entity.Amends;
|
|
|
+import org.springblade.los.business.amends.service.IAmendsService;
|
|
|
+import org.springblade.los.business.sea.entity.Bills;
|
|
|
+import org.springblade.los.business.sea.entity.Containers;
|
|
|
+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.ISeaContainerNumberItemService;
|
|
|
+import org.springblade.los.finance.fee.entity.FeeCenter;
|
|
|
+import org.springblade.los.finance.fee.entity.FinAccBills;
|
|
|
+import org.springblade.los.finance.fee.service.IFeeCenterService;
|
|
|
+import org.springblade.los.finance.fee.service.IFinAccBillsService;
|
|
|
+import org.springblade.los.finance.invoices.entity.FinInvoices;
|
|
|
+import org.springblade.los.finance.invoices.entity.FinInvoicesItems;
|
|
|
+import org.springblade.los.finance.invoices.mapper.FinInvoicesMapper;
|
|
|
+import org.springblade.los.finance.invoices.service.IFinInvoicesItemsService;
|
|
|
+import org.springblade.los.finance.stl.entity.FinStlBills;
|
|
|
+import org.springblade.los.finance.stl.entity.FinStlBillsItems;
|
|
|
+import org.springblade.los.finance.stl.mapper.FinStlBillsMapper;
|
|
|
+import org.springblade.los.finance.stl.service.IFinStlBillsItemsService;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author :jixinyuan
|
|
|
+ * @date : 2023/12/29
|
|
|
+ */
|
|
|
+@Component
|
|
|
+@AllArgsConstructor
|
|
|
+public class UpdateHblnoUtils {
|
|
|
+
|
|
|
+ private final IFeeCenterService feeCenterService;
|
|
|
+
|
|
|
+ private final IFinAccBillsService finAccBillsService;
|
|
|
+
|
|
|
+ private final BillsMapper billsMapper;
|
|
|
+
|
|
|
+ private final ITradingBoxItemService tradingBoxItemService;
|
|
|
+
|
|
|
+ private final FinStlBillsMapper finStlBillsMapper;
|
|
|
+
|
|
|
+ private final IFinStlBillsItemsService finStlBillsItemsService;
|
|
|
+
|
|
|
+ private final FinInvoicesMapper finInvoicesMapper;
|
|
|
+
|
|
|
+ private final IFinInvoicesItemsService finInvoicesItemsService;
|
|
|
+
|
|
|
+ private final IPutBoxItemsService putBoxItemsService;
|
|
|
+
|
|
|
+ private final IAmendsService amendsService;
|
|
|
+
|
|
|
+ private final ISeaContainerNumberItemService seaContainerNumberItemService;
|
|
|
+
|
|
|
+ private final IContainersService containersService;
|
|
|
+
|
|
|
+ private final IArchivesTrajectoryService archivesTrajectoryService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改提单号
|
|
|
+ * @param id 单据id
|
|
|
+ * @param hblno 新提单号
|
|
|
+ */
|
|
|
+ public R updateHblno(Long id, String hblno) {
|
|
|
+ if (id == null || ObjectUtils.isNull(hblno)) {
|
|
|
+ throw new RuntimeException("缺少必要参数");
|
|
|
+ }
|
|
|
+ Bills bills = billsMapper.selectById(id);
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("未查到单据信息");
|
|
|
+ }
|
|
|
+ List<Bills> billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .ne(Bills::getId, id)
|
|
|
+ .eq(Bills::getHblno, bills.getHblno()));
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ for (Bills item : billsList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ int version1 = StringUtil.isBlank(item.getVersion()) ? 1 : Integer.parseInt(item.getVersion());
|
|
|
+ item.setVersion(String.valueOf(version1 + 1));
|
|
|
+ billsMapper.updateById(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取费用明细数据
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getHblno, bills.getHblno()));
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ feeCenterService.updateBatchById(feeCenterList);
|
|
|
+ }
|
|
|
+ //获取账单明细数据
|
|
|
+ List<FinAccBills> finAccBillsList = finAccBillsService.list(new LambdaQueryWrapper<FinAccBills>()
|
|
|
+ .eq(FinAccBills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinAccBills::getIsDeleted, 0)
|
|
|
+ .eq(FinAccBills::getHblno, bills.getHblno()));
|
|
|
+ if (!finAccBillsList.isEmpty()) {
|
|
|
+ //修改账单汇率以及重新计算合计金额
|
|
|
+ for (FinAccBills item : finAccBillsList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ finAccBillsService.updateBatchById(finAccBillsList);
|
|
|
+ List<Long> accBillIdList = finAccBillsList.stream().map(FinAccBills::getId).collect(Collectors.toList());
|
|
|
+ //获取账单对应对账,付费申请,结算中心明细数据
|
|
|
+ List<FinStlBillsItems> finStlBillsItemsList = finStlBillsItemsService.list(new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
+ .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
+ .in(FinStlBillsItems::getAccBillId, accBillIdList));
|
|
|
+ if (!finStlBillsItemsList.isEmpty()) {
|
|
|
+ //修改明细汇率以及重新计算合计金额
|
|
|
+ for (FinStlBillsItems item : finStlBillsItemsList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ finStlBillsItemsService.updateBatchById(finStlBillsItemsList);
|
|
|
+ List<Long> idList = finStlBillsItemsList.stream().map(FinStlBillsItems::getId).collect(Collectors.toList());
|
|
|
+ List<Long> pidList = finStlBillsItemsList.stream().map(FinStlBillsItems::getPid).collect(Collectors.toList());
|
|
|
+ //获取除本次明细以外其他所有明细
|
|
|
+ List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
+ .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
+ .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(FinStlBillsItems::getPid, pidList)
|
|
|
+ .notIn(FinStlBillsItems::getId, idList));
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ finStlBillsItems.addAll(finStlBillsItemsList);
|
|
|
+ } else {
|
|
|
+ finStlBillsItems = finStlBillsItemsList;
|
|
|
+ }
|
|
|
+ List<Long> stlBillsIdList = finStlBillsItems.stream().map(FinStlBillsItems::getPid).collect(Collectors.toList());
|
|
|
+ //获取明细对应主单据数据
|
|
|
+ List<FinStlBills> finStlBillsList = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
|
|
|
+ .eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinStlBills::getIsDeleted, 0)
|
|
|
+ .in(FinStlBills::getId, stlBillsIdList));
|
|
|
+ if (!finStlBillsList.isEmpty()) {
|
|
|
+ for (FinStlBills item : finStlBillsList) {
|
|
|
+ List<FinStlBillsItems> finStlBillsItems1 = finStlBillsItems.stream().filter(e -> e.getPid().equals(item.getId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!finStlBillsItems1.isEmpty()) {
|
|
|
+ item.setHblno(finStlBillsItems1.stream().map(FinStlBillsItems::getHblno).distinct().collect(Collectors.joining(",")));
|
|
|
+ item.setHblnos(finStlBillsItems1.stream().map(FinStlBillsItems::getHblno).distinct().collect(Collectors.joining(",")));
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ finStlBillsMapper.updateById(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取账单对应发票申请,销项发票明细数据
|
|
|
+ List<FinInvoicesItems> finInvoicesItemsList = finInvoicesItemsService.list(new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
+ .eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
+ .in(FinInvoicesItems::getAccBillId, accBillIdList));
|
|
|
+ if (!finInvoicesItemsList.isEmpty()) {
|
|
|
+ //修改明细汇率以及重新计算合计金额
|
|
|
+ for (FinInvoicesItems item : finInvoicesItemsList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ finInvoicesItemsService.updateBatchById(finInvoicesItemsList);
|
|
|
+ List<Long> idList = finInvoicesItemsList.stream().map(FinInvoicesItems::getId).collect(Collectors.toList());
|
|
|
+ List<Long> pidList = finInvoicesItemsList.stream().map(FinInvoicesItems::getPid).collect(Collectors.toList());
|
|
|
+ //获取除本次明细以外其他所有明细
|
|
|
+ List<FinInvoicesItems> finInvoicesItems = finInvoicesItemsService.list(new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
+ .eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
+ .eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(FinInvoicesItems::getPid, pidList)
|
|
|
+ .notIn(FinInvoicesItems::getId, idList));
|
|
|
+ if (!finInvoicesItems.isEmpty()) {
|
|
|
+ finInvoicesItems.addAll(finInvoicesItemsList);
|
|
|
+ } else {
|
|
|
+ finInvoicesItems = finInvoicesItemsList;
|
|
|
+ }
|
|
|
+ List<Long> stlBillsIdList = finInvoicesItems.stream().map(FinInvoicesItems::getPid).collect(Collectors.toList());
|
|
|
+ //获取明细对应主单据数据
|
|
|
+ List<FinInvoices> finStlBillsList = finInvoicesMapper.selectList(new LambdaQueryWrapper<FinInvoices>()
|
|
|
+ .eq(FinInvoices::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinInvoices::getIsDeleted, 0)
|
|
|
+ .in(FinInvoices::getId, stlBillsIdList));
|
|
|
+ if (!finStlBillsList.isEmpty()) {
|
|
|
+ for (FinInvoices item : finStlBillsList) {
|
|
|
+ List<FinInvoicesItems> finInvoicesItems1 = finInvoicesItems.stream().filter(e -> e.getPid().equals(item.getId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!finInvoicesItems1.isEmpty()) {
|
|
|
+ item.setHblno(finInvoicesItems1.stream().map(FinInvoicesItems::getHblno).distinct().collect(Collectors.joining(",")));
|
|
|
+ item.setHblnos(finInvoicesItems1.stream().map(FinInvoicesItems::getHblno).distinct().collect(Collectors.joining(",")));
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ finInvoicesMapper.updateById(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<TradingBoxItem> tradingBoxItemList = tradingBoxItemService.list(new LambdaQueryWrapper<TradingBoxItem>()
|
|
|
+ .eq(TradingBoxItem::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(TradingBoxItem::getIsDeleted, 0)
|
|
|
+ .eq(TradingBoxItem::getHblno, bills.getHblno()));
|
|
|
+ if (!tradingBoxItemList.isEmpty()) {
|
|
|
+ for (TradingBoxItem item : tradingBoxItemList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ tradingBoxItemService.updateBatchById(tradingBoxItemList);
|
|
|
+ }
|
|
|
+ List<PutBoxItems> putBoxItemsList = putBoxItemsService.list(new LambdaQueryWrapper<PutBoxItems>()
|
|
|
+ .eq(PutBoxItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PutBoxItems::getIsDeleted, 0)
|
|
|
+ .eq(PutBoxItems::getHblno, bills.getHblno()));
|
|
|
+ if (!putBoxItemsList.isEmpty()) {
|
|
|
+ for (PutBoxItems item : putBoxItemsList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ putBoxItemsService.updateBatchById(putBoxItemsList);
|
|
|
+ }
|
|
|
+ List<Amends> amendsList = amendsService.list(new LambdaQueryWrapper<Amends>()
|
|
|
+ .eq(Amends::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Amends::getIsDeleted, 0)
|
|
|
+ .eq(Amends::getHblno, bills.getHblno()));
|
|
|
+ if (!putBoxItemsList.isEmpty()) {
|
|
|
+ for (Amends item : amendsList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ amendsService.updateBatchById(amendsList);
|
|
|
+ }
|
|
|
+ List<SeaContainerNumberItem> seaContainerNumberItemList = seaContainerNumberItemService.list(new LambdaQueryWrapper<SeaContainerNumberItem>()
|
|
|
+ .eq(SeaContainerNumberItem::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(SeaContainerNumberItem::getIsDeleted, 0)
|
|
|
+ .eq(SeaContainerNumberItem::getHblno, bills.getHblno()));
|
|
|
+ if (!seaContainerNumberItemList.isEmpty()) {
|
|
|
+ for (SeaContainerNumberItem item : seaContainerNumberItemList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ seaContainerNumberItemService.updateBatchById(seaContainerNumberItemList);
|
|
|
+ }
|
|
|
+ List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
+ .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getIsDeleted, 0)
|
|
|
+ .eq(Containers::getHblno, bills.getHblno()));
|
|
|
+ if (!containersList.isEmpty()) {
|
|
|
+ List<ArchivesTrajectory> archivesTrajectoryList = new ArrayList<>();
|
|
|
+ for (Containers item : containersList) {
|
|
|
+ item.setHblno(hblno);
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ ArchivesTrajectory archivesTrajectory = new ArchivesTrajectory();
|
|
|
+ archivesTrajectory.setPortId(bills.getPolId());
|
|
|
+ archivesTrajectory.setPortCode(bills.getPolCode());
|
|
|
+ archivesTrajectory.setPortCname(bills.getPolCnName());
|
|
|
+ archivesTrajectory.setPortEname(bills.getPolEnName());
|
|
|
+ archivesTrajectory.setStationId(bills.getCyId());
|
|
|
+ archivesTrajectory.setStationCode(bills.getCyCode());
|
|
|
+ archivesTrajectory.setStationCname(bills.getCyCnName());
|
|
|
+ archivesTrajectory.setStationEname(bills.getCyCnName());
|
|
|
+ archivesTrajectory.setBoxDynamics("提单号修改");
|
|
|
+ archivesTrajectory.setStatus("提单号修改");
|
|
|
+ archivesTrajectory.setEtd(bills.getActualEtd());
|
|
|
+ archivesTrajectory.setNewDate(bills.getActualEtd());
|
|
|
+ archivesTrajectory.setContainerNumber(item.getContainerNumber());
|
|
|
+ archivesTrajectory.setBoxType(item.getCntrTypeCode());
|
|
|
+ archivesTrajectory.setBoxCategory(item.getBoxSrcType());
|
|
|
+ archivesTrajectory.setMblno(item.getMblno());
|
|
|
+ archivesTrajectory.setHblno(hblno);
|
|
|
+ archivesTrajectory.setPodId(bills.getPodId());
|
|
|
+ archivesTrajectory.setPodCode(bills.getPodCode());
|
|
|
+ archivesTrajectory.setPodCname(bills.getPodCnName());
|
|
|
+ archivesTrajectory.setPodEname(bills.getPodEnName());
|
|
|
+ archivesTrajectory.setBillType(bills.getBusinessType());
|
|
|
+ archivesTrajectory.setCode(item.getCntrNo());
|
|
|
+ archivesTrajectory.setCreateTime(new Date());
|
|
|
+ archivesTrajectory.setCreateUser(AuthUtil.getUserId());
|
|
|
+ archivesTrajectory.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ archivesTrajectory.setTenantId(AuthUtil.getTenantId());
|
|
|
+ archivesTrajectory.setSrcId(bills.getId());
|
|
|
+ archivesTrajectory.setPolCyId(item.getPolCyId());
|
|
|
+ archivesTrajectory.setPolCyCode(item.getPolCyCode());
|
|
|
+ archivesTrajectory.setPolCyCname(item.getPolCyCname());
|
|
|
+ archivesTrajectory.setPolCyEname(item.getPolCyEname());
|
|
|
+ archivesTrajectory.setPolFreeBoxUseDays(bills.getPolFreeBoxUseDays());
|
|
|
+ archivesTrajectory.setPolPreAppearanceDate(item.getPolPreAppearanceDate());
|
|
|
+ archivesTrajectory.setPolStationEmptyContainerExitDate(item.getPolStationEmptyContainerExitDate());
|
|
|
+ archivesTrajectory.setPolReturnDate(item.getPolReturnDate());
|
|
|
+ archivesTrajectory.setPolOverdueBoxUseDays(item.getPolOverdueBoxUseDays());
|
|
|
+ archivesTrajectory.setEta(bills.getEta());
|
|
|
+ archivesTrajectory.setPodEmptyContainerReturnDate(item.getPodEmptyContainerReturnDate());
|
|
|
+ archivesTrajectory.setPodStationId(item.getPodStationId());
|
|
|
+ archivesTrajectory.setPodStationCode(item.getPodStationCode());
|
|
|
+ archivesTrajectory.setPodStationCname(item.getPodStationCname());
|
|
|
+ archivesTrajectory.setPodStationEname(item.getPodStationEname());
|
|
|
+ archivesTrajectory.setPodFreeBoxUseDays(bills.getPodFreeBoxUseDays());
|
|
|
+ archivesTrajectory.setPodBoxUseDays(item.getPodBoxUseDays());
|
|
|
+ archivesTrajectory.setShipNameId(bills.getVesselId());
|
|
|
+ archivesTrajectory.setShipCname(bills.getVesselCnName());
|
|
|
+ archivesTrajectory.setShipEname(bills.getVesselEnName());
|
|
|
+ archivesTrajectory.setVoyage(bills.getVoyageNo());
|
|
|
+ archivesTrajectoryList.add(archivesTrajectory);
|
|
|
+ }
|
|
|
+ containersService.updateBatchById(containersList);
|
|
|
+ archivesTrajectoryService.saveBatch(archivesTrajectoryList);
|
|
|
+ }
|
|
|
+ bills.setHblno(hblno);
|
|
|
+ bills.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ bills.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ bills.setUpdateTime(new Date());
|
|
|
+ int version = StringUtil.isBlank(bills.getVersion()) ? 1 : Integer.parseInt(bills.getVersion());
|
|
|
+ bills.setVersion(String.valueOf(version + 1));
|
|
|
+ billsMapper.updateById(bills);
|
|
|
+ return R.success("操作成功");
|
|
|
+ }
|
|
|
+}
|