|
|
@@ -0,0 +1,439 @@
|
|
|
+/*
|
|
|
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
|
|
|
+ *
|
|
|
+ * Redistribution and use in source and binary forms, with or without
|
|
|
+ * modification, are permitted provided that the following conditions are met:
|
|
|
+ *
|
|
|
+ * Redistributions of source code must retain the above copyright notice,
|
|
|
+ * this list of conditions and the following disclaimer.
|
|
|
+ * Redistributions in binary form must reproduce the above copyright
|
|
|
+ * notice, this list of conditions and the following disclaimer in the
|
|
|
+ * documentation and/or other materials provided with the distribution.
|
|
|
+ * Neither the name of the dreamlu.net developer nor the names of its
|
|
|
+ * contributors may be used to endorse or promote products derived from
|
|
|
+ * this software without specific prior written permission.
|
|
|
+ * Author: Chill 庄骞 (smallchill@163.com)
|
|
|
+ */
|
|
|
+package org.springblade.los.business.sea.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.core.secure.utils.AuthUtil;
|
|
|
+import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.BeanUtil;
|
|
|
+import org.springblade.core.tool.utils.StringUtil;
|
|
|
+import org.springblade.los.basic.business.entity.BusinessType;
|
|
|
+import org.springblade.los.basic.business.service.IBusinessTypeService;
|
|
|
+import org.springblade.los.billno.entity.BusinessBillNo;
|
|
|
+import org.springblade.los.billno.service.IBusinessBillNoService;
|
|
|
+import org.springblade.los.business.sea.entity.*;
|
|
|
+import org.springblade.los.business.sea.mapper.DeadlineMapper;
|
|
|
+import org.springblade.los.business.sea.service.*;
|
|
|
+import org.springblade.los.business.sea.vo.DeadlineVO;
|
|
|
+import org.springblade.los.check.dto.LosAuditProecessDTO;
|
|
|
+import org.springblade.los.check.entity.LosAuditPathsActs;
|
|
|
+import org.springblade.los.check.entity.LosAuditPathsLevels;
|
|
|
+import org.springblade.los.check.service.IAuditPathsActsService;
|
|
|
+import org.springblade.los.check.service.IAuditPathsLevelsService;
|
|
|
+import org.springblade.los.check.service.IAuditProecessService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 截单修改单据信息表 服务实现类
|
|
|
+ *
|
|
|
+ * @author BladeX
|
|
|
+ * @since 2026-03-11
|
|
|
+ */
|
|
|
+@Service
|
|
|
+@AllArgsConstructor
|
|
|
+public class DeadlineServiceImpl extends ServiceImpl<DeadlineMapper, Deadline> implements IDeadlineService {
|
|
|
+
|
|
|
+
|
|
|
+ private final IDeadlineContainersService deadlineContainersService;
|
|
|
+
|
|
|
+ private final IAuditPathsActsService auditPathsActsService;
|
|
|
+
|
|
|
+ private final IAuditPathsLevelsService auditPathsLevelsService;
|
|
|
+
|
|
|
+ private final IAuditProecessService auditProecessService;
|
|
|
+
|
|
|
+ private final IBusinessBillNoService businessBillNoService;
|
|
|
+
|
|
|
+ private final IBusinessTypeService bBusinessTypeService;
|
|
|
+
|
|
|
+ private final IContainersService containersService;
|
|
|
+
|
|
|
+ private final IBillsService billsService;
|
|
|
+
|
|
|
+ private final ISeaBillsDetailService seaBillsDetailService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<DeadlineVO> selectDeadlinePage(IPage<DeadlineVO> page, DeadlineVO deadline) {
|
|
|
+ return page.setRecords(baseMapper.selectDeadlinePage(page, deadline));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public DeadlineVO detail(DeadlineVO deadlineVO) {
|
|
|
+ if (deadlineVO.getId() == null) {
|
|
|
+ throw new RuntimeException("缺少必要参数");
|
|
|
+ }
|
|
|
+ DeadlineVO detatil = new DeadlineVO();
|
|
|
+ Deadline deadline = baseMapper.selectById(deadlineVO.getId());
|
|
|
+ if (deadline != null) {
|
|
|
+ BeanUtil.copyProperties(deadline, detatil);
|
|
|
+ List<DeadlineContainers> deadlineContainersList = deadlineContainersService.list(new LambdaQueryWrapper<DeadlineContainers>()
|
|
|
+ .eq(DeadlineContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(DeadlineContainers::getIsDeleted, 0)
|
|
|
+ .eq(DeadlineContainers::getPid, deadline.getId()));
|
|
|
+ detatil.setDeadlineContainersList(deadlineContainersList.isEmpty() ? new ArrayList<>() : deadlineContainersList);
|
|
|
+ }
|
|
|
+ return detatil;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public R submit(DeadlineVO deadlineVO) {
|
|
|
+ Deadline deadline = new Deadline();
|
|
|
+ BeanUtil.copyProperties(deadlineVO, deadline);
|
|
|
+ if (deadline.getId() == null) {
|
|
|
+ BusinessType businessType = bBusinessTypeService.getOne(new LambdaQueryWrapper<BusinessType>()
|
|
|
+ .select(BusinessType::getId)
|
|
|
+ .eq(BusinessType::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BusinessType::getIsDeleted, 0)
|
|
|
+ .eq(BusinessType::getStatus, 0)
|
|
|
+ .eq(BusinessType::getCode, deadlineVO.getBusinessTypeCode()));
|
|
|
+ if (businessType == null) {
|
|
|
+ throw new RuntimeException("未找到可用业务类型");
|
|
|
+ }
|
|
|
+ BusinessBillNo businessBillNo = new BusinessBillNo();
|
|
|
+ businessBillNo.setBusinessTypeId(businessType.getId());
|
|
|
+ businessBillNo.setCode(deadlineVO.getBillNoFormat());
|
|
|
+ businessBillNo.setBranchId(deadlineVO.getBranchId());
|
|
|
+ R clientBillNo = businessBillNoService.getBillNoLos(businessBillNo);
|
|
|
+ if (!clientBillNo.isSuccess()) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return R.fail(500, "生成订单编号失败");
|
|
|
+ }
|
|
|
+ deadline.setBillNo((String) clientBillNo.getData());
|
|
|
+ deadline.setCreateTime(new Date());
|
|
|
+ deadline.setCreateUser(AuthUtil.getUserId());
|
|
|
+ deadline.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ deadline.setVersion("1");
|
|
|
+ deadline.setBranchId(AuthUtil.getDeptId());
|
|
|
+ deadline.setBranchName(AuthUtil.getUserName());
|
|
|
+ } else {
|
|
|
+ Deadline dataSourceBill = baseMapper.selectOne(new LambdaQueryWrapper<Deadline>().select(Deadline::getId, Deadline::getVersion)
|
|
|
+ .eq(Deadline::getId, deadline.getId()));
|
|
|
+ if (!Objects.equals(dataSourceBill.getVersion(), deadline.getVersion())) {
|
|
|
+ return R.fail(601, "数据已被其他用户更新,请刷新后重试");
|
|
|
+ }
|
|
|
+ // 每更新一次往上累加一次版本
|
|
|
+ // 旧数据处理
|
|
|
+ int version = StringUtil.isBlank(dataSourceBill.getVersion()) ? 1 : Integer.parseInt(dataSourceBill.getVersion());
|
|
|
+ deadline.setVersion(String.valueOf(version + 1));
|
|
|
+ deadline.setUpdateTime(new Date());
|
|
|
+ deadline.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ deadline.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ }
|
|
|
+ this.saveOrUpdate(deadline);
|
|
|
+ if (ObjectUtils.isNotNull(deadlineVO.getDeadlineContainersList()) &&
|
|
|
+ !deadlineVO.getDeadlineContainersList().isEmpty()) {
|
|
|
+ for (DeadlineContainers item : deadlineVO.getDeadlineContainersList()) {
|
|
|
+ if (item.getId() == null) {
|
|
|
+ item.setPid(deadline.getId());
|
|
|
+ item.setCreateTime(new Date());
|
|
|
+ item.setCreateUser(AuthUtil.getUserId());
|
|
|
+ item.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ } else {
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deadlineContainersService.saveOrUpdateBatch(deadlineVO.getDeadlineContainersList());
|
|
|
+ }
|
|
|
+ deadlineVO.setId(deadline.getId());
|
|
|
+ return R.data(deadlineVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Deadline checkDeadline(DeadlineVO deadlineVO) {
|
|
|
+ Deadline declare = baseMapper.selectById(deadlineVO.getId());
|
|
|
+ Integer actId = 1138;
|
|
|
+ String processType = "提单修改请核";
|
|
|
+ String checkType = "TDXG";
|
|
|
+ //审批数据
|
|
|
+ LosAuditProecessDTO auditProecessDTO = new LosAuditProecessDTO();
|
|
|
+ //获取审批级次
|
|
|
+ List<LosAuditPathsLevels> auditPathsLevels;
|
|
|
+ // 判断是否有审批流,如果审批流已开启就进入审批流,否则直接走申请通过
|
|
|
+ LosAuditPathsActs pathsActs;
|
|
|
+ //是否开启流程
|
|
|
+ LambdaQueryWrapper<LosAuditPathsActs> auditPathsActsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ auditPathsActsLambdaQueryWrapper
|
|
|
+ .eq(LosAuditPathsActs::getIsEnable, 1)
|
|
|
+ .eq(LosAuditPathsActs::getFidStatus, "billStatus")
|
|
|
+ .eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(LosAuditPathsActs::getSalesCompanyId, declare.getBranchId())
|
|
|
+ .eq(LosAuditPathsActs::getActId, actId);
|
|
|
+ pathsActs = auditPathsActsService.getOne(auditPathsActsLambdaQueryWrapper);
|
|
|
+ //获取审批信息
|
|
|
+ LosAuditPathsActs losAuditPathsActs = auditPathsActsService.getOne(new LambdaQueryWrapper<LosAuditPathsActs>()
|
|
|
+ .eq(LosAuditPathsActs::getActId, actId)
|
|
|
+ .eq(LosAuditPathsActs::getFidStatus, "billStatus")
|
|
|
+ .eq(LosAuditPathsActs::getSalesCompanyId, declare.getBranchId())
|
|
|
+ .eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId()));
|
|
|
+ Long pathId = losAuditPathsActs.getPathId();
|
|
|
+ auditPathsLevels = auditPathsLevelsService.list(new LambdaQueryWrapper<LosAuditPathsLevels>()
|
|
|
+ .eq(LosAuditPathsLevels::getTenantId, AuthUtil.getTenantId()).eq(LosAuditPathsLevels::getPathId, pathId));
|
|
|
+ auditProecessDTO.setTimes(1);
|
|
|
+ auditProecessDTO.setProcessType(processType);
|
|
|
+ // 没开启审批流直接走 通过流程
|
|
|
+ if (pathsActs == null || pathsActs.getIsEnable() == 2) {
|
|
|
+ throw new SecurityException("当前租户未查询到审批流配置");
|
|
|
+ } else {
|
|
|
+ if (CollectionUtils.isEmpty(auditPathsLevels)) {
|
|
|
+ throw new SecurityException("开启审批失败:未查询到审批信息");
|
|
|
+ }
|
|
|
+ // 绑定审核类型
|
|
|
+ auditProecessDTO.setCheckType(checkType);
|
|
|
+ // 追加跳转路由url
|
|
|
+ auditProecessDTO.setUrl(deadlineVO.getUrl());
|
|
|
+ auditProecessDTO.setPageStatus(deadlineVO.getPageStatus());
|
|
|
+ auditProecessDTO.setPageLabel(deadlineVO.getPageLabel());
|
|
|
+ auditProecessDTO.setOrderRemark(declare.getRemarks());
|
|
|
+ auditProecessDTO.setPathsLevelsList(auditPathsLevels);
|
|
|
+ auditProecessDTO.setActId(1);
|
|
|
+ auditProecessDTO.setSrcBillId(declare.getId());
|
|
|
+ auditProecessDTO.setBillId(declare.getId());
|
|
|
+ auditProecessDTO.setBillNo(declare.getBillNo());
|
|
|
+ auditProecessDTO.setSendUserId(AuthUtil.getUserId());
|
|
|
+ auditProecessDTO.setSendName(AuthUtil.getUserName());
|
|
|
+ auditProecessDTO.setSendTime(new Date());
|
|
|
+ auditProecessDTO.setBillTime(declare.getCreateTime());
|
|
|
+ auditProecessDTO.setTenantId(AuthUtil.getTenantId());
|
|
|
+ auditProecessDTO.setCorpId(declare.getCorpId());
|
|
|
+ auditProecessDTO.setCorpsName(declare.getCorpCnName());
|
|
|
+ auditProecessDTO.setReferenceNumber(declare.getMblno());
|
|
|
+ auditProecessDTO.setMorderNo(declare.getMblno());
|
|
|
+ auditProecessDTO.setSalesCompanyId(Long.parseLong(declare.getBranchId()));
|
|
|
+ auditProecessDTO.setSalesCompanyName(declare.getBranchName());
|
|
|
+ auditProecessDTO.setMblno(declare.getMblno());
|
|
|
+ auditProecessDTO.setHblno(declare.getHblno());
|
|
|
+ R financeProcess = auditProecessService.createFinanceProcess(auditProecessDTO);
|
|
|
+ if (!financeProcess.isSuccess()) {
|
|
|
+ throw new SecurityException("操作失败,请联系管理员");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ declare.setBillStatus("1");
|
|
|
+ declare.setApplicant(AuthUtil.getUserId());
|
|
|
+ declare.setApplicantName(AuthUtil.getUserName());
|
|
|
+ declare.setApplicantTime(new Date());
|
|
|
+ declare.setUpdateTime(new Date());
|
|
|
+ declare.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ declare.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ int versionKHTS = StringUtil.isBlank(declare.getVersion()) ? 1 : Integer.parseInt(declare.getVersion());
|
|
|
+ declare.setVersion(String.valueOf(versionKHTS + 1));
|
|
|
+ baseMapper.updateById(declare);
|
|
|
+ return declare;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Deadline revokeCheckDeadline(DeadlineVO deadlineVO) {
|
|
|
+ Deadline declare = baseMapper.selectById(deadlineVO.getId());
|
|
|
+ if ("3".equals(declare.getBillStatus())) {
|
|
|
+ throw new SecurityException("审核已通过,撤销失败");
|
|
|
+ }
|
|
|
+ R financeProcess = auditProecessService.deteleByBillId(deadlineVO.getId());
|
|
|
+ if (!financeProcess.isSuccess()) {
|
|
|
+ throw new SecurityException("操作失败,请联系管理员");
|
|
|
+ }
|
|
|
+ declare.setBillStatus("0");
|
|
|
+ int version = StringUtil.isBlank(declare.getVersion()) ? 1 : Integer.parseInt(declare.getVersion());
|
|
|
+ declare.setVersion(String.valueOf(version + 1));
|
|
|
+ declare.setApplicant(0L);
|
|
|
+ declare.setApplicantName("");
|
|
|
+ declare.setApplicantTime(null);
|
|
|
+ declare.setUpdateTime(new Date());
|
|
|
+ declare.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ declare.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ baseMapper.updateById(declare);
|
|
|
+ return declare;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public DeadlineVO generateDeadline(Long billId) {
|
|
|
+ Bills bills = billsService.getById(billId);
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("缺少必要参数");
|
|
|
+ }
|
|
|
+ SeaBillsDetail seaBillsDetail = seaBillsDetailService.getOne(new LambdaQueryWrapper<SeaBillsDetail>()
|
|
|
+ .eq(SeaBillsDetail::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(SeaBillsDetail::getPid, billId)
|
|
|
+ .last("LIMIT 1"));
|
|
|
+ List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
+ .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getIsDeleted, 0)
|
|
|
+ .eq(Containers::getPid, billId));
|
|
|
+ DeadlineVO deadlineVO = new DeadlineVO();
|
|
|
+ deadlineVO.setMblno(bills.getMblno());
|
|
|
+ deadlineVO.setHblno(bills.getHblno());
|
|
|
+ deadlineVO.setBillNo(bills.getBillNo());
|
|
|
+ deadlineVO.setSrcBillId(bills.getId());
|
|
|
+ deadlineVO.setSrcBillNo(bills.getBillNo());
|
|
|
+ deadlineVO.setCorpId(bills.getCorpId());
|
|
|
+ deadlineVO.setCorpCnName(bills.getCorpCnName());
|
|
|
+ deadlineVO.setCorpEnName(bills.getCorpEnName());
|
|
|
+ deadlineVO.setShortName(bills.getShortName());
|
|
|
+ deadlineVO.setBillStatus("0");
|
|
|
+ //发货人提单描述
|
|
|
+ deadlineVO.setShipperDetails(seaBillsDetail.getHshipperDetails());
|
|
|
+ deadlineVO.setDeadlineShipperDetails(seaBillsDetail.getHshipperDetails());
|
|
|
+ //收货人提单描述
|
|
|
+ deadlineVO.setConsigneeDetails(seaBillsDetail.getHconsigneeDetails());
|
|
|
+ deadlineVO.setDeadlineConsigneeDetails(seaBillsDetail.getHconsigneeDetails());
|
|
|
+ //通知人提单描述
|
|
|
+ deadlineVO.setNotifyDetails(seaBillsDetail.getHnotifyDetails());
|
|
|
+ deadlineVO.setDeadlineNotifyDetails(seaBillsDetail.getHnotifyDetails());
|
|
|
+ //船公司
|
|
|
+ deadlineVO.setCarrierId(bills.getCarrierId());
|
|
|
+ deadlineVO.setCarrierCnName(bills.getCarrierCnName());
|
|
|
+ deadlineVO.setCarrierEnName(bills.getCarrierEnName());
|
|
|
+ deadlineVO.setCarrierArgreementNo(bills.getCarrierArgreementNo());
|
|
|
+ deadlineVO.setCarrierShortName(bills.getCarrierShortName());
|
|
|
+ deadlineVO.setDeadlineCarrierId(bills.getCarrierId());
|
|
|
+ deadlineVO.setDeadlineCarrierCnName(bills.getCarrierCnName());
|
|
|
+ deadlineVO.setDeadlineCarrierEnName(bills.getCarrierEnName());
|
|
|
+ deadlineVO.setDeadlineCarrierArgreementNo(bills.getCarrierArgreementNo());
|
|
|
+ deadlineVO.setDeadlineCarrierShortName(bills.getCarrierShortName());
|
|
|
+ //订舱代理
|
|
|
+ deadlineVO.setBookingAgentId(bills.getBookingAgentId());
|
|
|
+ deadlineVO.setBookingAgentCnName(bills.getBookingAgentCnName());
|
|
|
+ deadlineVO.setBookingAgentEnName(bills.getBookingAgentEnName());
|
|
|
+ deadlineVO.setBookingRemarks(bills.getBookingRemarks());
|
|
|
+ deadlineVO.setDeadlineBookingAgentId(bills.getBookingAgentId());
|
|
|
+ deadlineVO.setDeadlineBookingAgentCnName(bills.getBookingAgentCnName());
|
|
|
+ deadlineVO.setDeadlineBookingAgentEnName(bills.getBookingAgentEnName());
|
|
|
+ deadlineVO.setDeadlineBookingRemarks(bills.getBookingRemarks());
|
|
|
+ //船名
|
|
|
+ deadlineVO.setVesselId(bills.getVesselId());
|
|
|
+ deadlineVO.setVesselCnName(bills.getVesselCnName());
|
|
|
+ deadlineVO.setVesselEnName(bills.getVesselEnName());
|
|
|
+ deadlineVO.setDeadlineVesselId(bills.getVesselId());
|
|
|
+ deadlineVO.setDeadlineVesselCnName(bills.getVesselCnName());
|
|
|
+ deadlineVO.setDeadlineVesselEnName(bills.getVesselEnName());
|
|
|
+ //航次
|
|
|
+ deadlineVO.setVoyageNo(bills.getVoyageNo());
|
|
|
+ deadlineVO.setDeadlineVoyageNo(bills.getVoyageNo());
|
|
|
+ //装货港
|
|
|
+ deadlineVO.setPolId(bills.getPolId());
|
|
|
+ deadlineVO.setPolCode(bills.getPolCode());
|
|
|
+ deadlineVO.setPolCnName(bills.getPolCnName());
|
|
|
+ deadlineVO.setPolEnName(bills.getPolEnName());
|
|
|
+ deadlineVO.setDeadlinePolId(bills.getPolId());
|
|
|
+ deadlineVO.setDeadlinePolCode(bills.getPolCode());
|
|
|
+ deadlineVO.setDeadlinePolCnName(bills.getPolCnName());
|
|
|
+ deadlineVO.setDeadlinePolEnName(bills.getPolEnName());
|
|
|
+ //装货港英文名称打印
|
|
|
+ deadlineVO.setPolNamePrint(bills.getPolNamePrint());
|
|
|
+ deadlineVO.setDeadlinePolNamePrint(bills.getPolNamePrint());
|
|
|
+ //卸货港
|
|
|
+ deadlineVO.setPodId(bills.getPodId());
|
|
|
+ deadlineVO.setPodCode(bills.getPodCode());
|
|
|
+ deadlineVO.setPodCnName(bills.getPodCnName());
|
|
|
+ deadlineVO.setPodEnName(bills.getPodEnName());
|
|
|
+ deadlineVO.setDeadlinePodId(bills.getPodId());
|
|
|
+ deadlineVO.setDeadlinePodCode(bills.getPodCode());
|
|
|
+ deadlineVO.setDeadlinePodCnName(bills.getPodCnName());
|
|
|
+ deadlineVO.setDeadlinePodEnName(bills.getPodEnName());
|
|
|
+ //卸货港英文名称打印
|
|
|
+ deadlineVO.setPodNamePrint(bills.getPodNamePrint());
|
|
|
+ deadlineVO.setDeadlinePodNamePrint(bills.getPodNamePrint());
|
|
|
+ //交货地
|
|
|
+ deadlineVO.setPlaceDeliveryId(bills.getPlaceDeliveryId());
|
|
|
+ deadlineVO.setPlaceDeliveryCode(bills.getPlaceDeliveryCode());
|
|
|
+ deadlineVO.setPlaceDeliveryName(bills.getPlaceDeliveryName());
|
|
|
+ deadlineVO.setDeadlinePlaceDeliveryId(bills.getPlaceDeliveryId());
|
|
|
+ deadlineVO.setDeadlinePlaceDeliveryCode(bills.getPlaceDeliveryCode());
|
|
|
+ deadlineVO.setDeadlinePlaceDeliveryName(bills.getPlaceDeliveryName());
|
|
|
+ //交货地英文名称打印
|
|
|
+ deadlineVO.setPlaceDeliveryNamePrint(bills.getPlaceDeliveryNamePrint());
|
|
|
+ deadlineVO.setDeadlinePlaceDeliveryNamePrint(bills.getPlaceDeliveryNamePrint());
|
|
|
+ //签单方式
|
|
|
+ deadlineVO.setIssueType(bills.getIssueType());
|
|
|
+ deadlineVO.setDeadlineIssueType(bills.getIssueType());
|
|
|
+ //签单日期
|
|
|
+ deadlineVO.setIssueDate(bills.getIssueDate());
|
|
|
+ deadlineVO.setDeadlineIssueDate(bills.getIssueDate());
|
|
|
+ //签单地点
|
|
|
+ deadlineVO.setIssueAtId(bills.getIssueAtId());
|
|
|
+ deadlineVO.setIssueAt(bills.getIssueAt());
|
|
|
+ deadlineVO.setDeadlineIssueAtId(bills.getIssueAtId());
|
|
|
+ deadlineVO.setDeadlineIssueAt(bills.getIssueAt());
|
|
|
+ //货物描述
|
|
|
+ deadlineVO.setCommodityDescr(bills.getCommodityDescr());
|
|
|
+ deadlineVO.setDeadlineCommodityDescr(bills.getCommodityDescr());
|
|
|
+ //唛头
|
|
|
+ deadlineVO.setMarks(bills.getMarks());
|
|
|
+ deadlineVO.setDeadlineMarks(bills.getMarks());
|
|
|
+ //包装单位
|
|
|
+ deadlineVO.setPackingUnitId(bills.getPackingUnitId());
|
|
|
+ deadlineVO.setPackingUnit(bills.getPackingUnit());
|
|
|
+ deadlineVO.setDeadlinePackingUnitId(bills.getPackingUnitId());
|
|
|
+ deadlineVO.setDeadlinePackingUnit(bills.getPackingUnit());
|
|
|
+ //件数
|
|
|
+ deadlineVO.setQuantity(bills.getQuantity());
|
|
|
+ deadlineVO.setDeadlineQuantity(bills.getQuantity());
|
|
|
+ //毛重
|
|
|
+ deadlineVO.setGrossWeight(bills.getGrossWeight());
|
|
|
+ deadlineVO.setDeadlineGrossWeight(bills.getGrossWeight());
|
|
|
+ //体积
|
|
|
+ deadlineVO.setMeasurement(bills.getMeasurement());
|
|
|
+ deadlineVO.setDeadlineMeasurement(bills.getMeasurement());
|
|
|
+ //国外代理提单描述
|
|
|
+ deadlineVO.setForeignAgencyDetails(bills.getForeignAgencyDetails());
|
|
|
+ deadlineVO.setDeadlineForeignAgencyDetails(bills.getForeignAgencyDetails());
|
|
|
+ //截单时间
|
|
|
+ deadlineVO.setCyTrailerTime(bills.getCyTrailerTime());
|
|
|
+ deadlineVO.setDeadlineCyTrailerTime(bills.getCyTrailerTime());
|
|
|
+ List<DeadlineContainers> deadlineContainersList = new ArrayList<>();
|
|
|
+ if (!containersList.isEmpty()) {
|
|
|
+ for (Containers item : containersList) {
|
|
|
+ DeadlineContainers deadlineContainers = new DeadlineContainers();
|
|
|
+ deadlineContainers.setCntrNo(item.getCntrNo());
|
|
|
+ deadlineContainers.setSealNo(item.getSealNo());
|
|
|
+ deadlineContainers.setQuantity(item.getQuantity());
|
|
|
+ deadlineContainers.setGrossWeight(item.getGrossWeight());
|
|
|
+ deadlineContainers.setMeasurement(item.getMeasurement());
|
|
|
+ deadlineContainers.setVgmWeight(item.getVgmWeight());
|
|
|
+ if (ObjectUtils.isNotNull(item.getTare())) {
|
|
|
+ deadlineContainers.setTare(item.getTare().toString());
|
|
|
+ }
|
|
|
+ deadlineContainers.setDeadlineCntrNo(item.getCntrNo());
|
|
|
+ deadlineContainers.setDeadlineSealNo(item.getSealNo());
|
|
|
+ deadlineContainers.setDeadlineQuantity(item.getQuantity());
|
|
|
+ deadlineContainers.setDeadlineGrossWeight(item.getGrossWeight());
|
|
|
+ deadlineContainers.setDeadlineMeasurement(item.getMeasurement());
|
|
|
+ deadlineContainers.setDeadlineVgmWeight(item.getVgmWeight());
|
|
|
+ deadlineContainers.setDeadlineTare(item.getCntrNo());
|
|
|
+ deadlineContainers.setSrcItemId(item.getId());
|
|
|
+ deadlineContainersList.add(deadlineContainers);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deadlineVO.setDeadlineContainersList(deadlineContainersList);
|
|
|
+ return deadlineVO;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|