|
|
@@ -23,6 +23,10 @@ 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.los.business.aea.entity.AeaBills;
|
|
|
+import org.springblade.los.business.aea.service.IAeaBillsService;
|
|
|
+import org.springblade.los.business.customsDeclaration.entity.CustomsDeclaration;
|
|
|
+import org.springblade.los.business.customsDeclaration.service.ICustomsDeclarationService;
|
|
|
import org.springblade.los.business.locks.entity.BillLocks;
|
|
|
import org.springblade.los.business.locks.mapper.BillLocksMapper;
|
|
|
import org.springblade.los.business.locks.service.IBillLocksService;
|
|
|
@@ -31,9 +35,12 @@ import org.springblade.los.business.sea.entity.Bills;
|
|
|
import org.springblade.los.business.sea.service.IBillsService;
|
|
|
import org.springblade.system.feign.ISysClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 业务-业务加解锁明细,各分公司独立 服务实现类
|
|
|
@@ -45,16 +52,19 @@ import java.util.List;
|
|
|
@AllArgsConstructor
|
|
|
public class BillLocksServiceImpl extends ServiceImpl<BillLocksMapper, BillLocks> implements IBillLocksService {
|
|
|
|
|
|
- private final ISysClient sysClient;
|
|
|
-
|
|
|
private final IBillsService billsService;
|
|
|
|
|
|
+ private final IAeaBillsService aeaBillsService;
|
|
|
+
|
|
|
+ private final ICustomsDeclarationService customsDeclarationService;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<BillLocksVO> selectBillLocksPage(IPage<BillLocksVO> page, BillLocksVO billLocks) {
|
|
|
return page.setRecords(baseMapper.selectBillLocksPage(page, billLocks));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public R submitLock(BillLocks billLocks) {
|
|
|
if (ObjectUtils.isNull(billLocks.getSrcId())) {
|
|
|
throw new RuntimeException("缺少必要参数");
|
|
|
@@ -62,72 +72,460 @@ public class BillLocksServiceImpl extends ServiceImpl<BillLocksMapper, BillLocks
|
|
|
if (ObjectUtils.isNull(billLocks.getBusinessType())) {
|
|
|
throw new RuntimeException("缺少必要参数");
|
|
|
}
|
|
|
- BillLocks detail = baseMapper.selectOne(new LambdaQueryWrapper<BillLocks>()
|
|
|
- .eq(BillLocks::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(BillLocks::getIsDeleted, 0)
|
|
|
- .eq(BillLocks::getSrcId, billLocks.getSrcId()));
|
|
|
- if ("HYCK,HYJK".contains(billLocks.getBusinessType())) {
|
|
|
- Bills bills = billsService.getById(billLocks.getSrcId());
|
|
|
- if (bills == null) {
|
|
|
- throw new RuntimeException("未查到单据信息");
|
|
|
- }
|
|
|
- if (detail != null) {
|
|
|
- detail.setUpdateTime(new Date());
|
|
|
- detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
- detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
- detail.setBranchId(bills.getBranchId());
|
|
|
- detail.setBillNo(bills.getBillNo());
|
|
|
- detail.setBillDate(bills.getBillDate());
|
|
|
- detail.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
- detail.setSrcBillNo(bills.getBillNo());
|
|
|
- detail.setSrcVesselId(bills.getVesselId());
|
|
|
- detail.setSrcVesselCnName(bills.getVesselCnName());
|
|
|
- detail.setSrcVesselEnName(bills.getVesselEnName());
|
|
|
- detail.setSrcVoyageNo(bills.getVoyageNo());
|
|
|
- detail.setSrcMblno(bills.getMblno());
|
|
|
- detail.setSrcRefno(bills.getRefno());
|
|
|
- detail.setSrcTeamId(Long.parseLong(bills.getTeamId()));
|
|
|
- detail.setSrcTeamName(bills.getTeamName());
|
|
|
- detail.setLocked(0);
|
|
|
- detail.setOperatorId(bills.getOperatorId());
|
|
|
- detail.setOperatorName(bills.getOperatorName());
|
|
|
- baseMapper.updateById(detail);
|
|
|
+ List<BillLocks> billLocksList = new ArrayList<>();
|
|
|
+ List<Bills> billsList = new ArrayList<>();
|
|
|
+ List<AeaBills> aeaBillsList = new ArrayList<>();
|
|
|
+ List<CustomsDeclaration> customsDeclarationList = new ArrayList<>();
|
|
|
+ if ("整船".equals(billLocks.getType())) {
|
|
|
+ if ("HYCK,HYJK".contains(billLocks.getBusinessType())) {
|
|
|
+ Bills bills = billsService.getById(billLocks.getSrcId());
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("未查到单据信息");
|
|
|
+ }
|
|
|
+ List<Bills> billsWholeList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getVesselId, bills.getVesselId())
|
|
|
+ .eq(Bills::getVoyageNo, bills.getVoyageNo())
|
|
|
+ .eq(Bills::getBranchId, bills.getBranchId())
|
|
|
+ .eq(Bills::getTeamId, bills.getTeamId()));
|
|
|
+ List<Long> idList = billsWholeList.stream().map(Bills::getId).collect(Collectors.toList());
|
|
|
+ if (!idList.isEmpty()) {
|
|
|
+ List<BillLocks> detailList = baseMapper.selectList(new LambdaQueryWrapper<BillLocks>()
|
|
|
+ .eq(BillLocks::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BillLocks::getIsDeleted, 0)
|
|
|
+ .in(BillLocks::getSrcId, idList));
|
|
|
+ for (Bills item : billsWholeList) {
|
|
|
+ if (!detailList.isEmpty()) {
|
|
|
+ BillLocks detail = detailList.stream().filter(e -> e.getSrcId().equals(item.getId()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (detail != null) {
|
|
|
+ detail.setUpdateTime(new Date());
|
|
|
+ detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ detail.setBranchId(item.getBranchId());
|
|
|
+ detail.setBillNo(item.getBillNo());
|
|
|
+ detail.setBillDate(item.getBillDate());
|
|
|
+ detail.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ detail.setSrcBillNo(item.getBillNo());
|
|
|
+ detail.setSrcVesselId(item.getVesselId());
|
|
|
+ detail.setSrcVesselCnName(item.getVesselCnName());
|
|
|
+ detail.setSrcVesselEnName(item.getVesselEnName());
|
|
|
+ detail.setSrcVoyageNo(item.getVoyageNo());
|
|
|
+ detail.setSrcMblno(item.getMblno());
|
|
|
+ detail.setSrcRefno(item.getRefno());
|
|
|
+ detail.setSrcTeamId(Long.parseLong(item.getTeamId()));
|
|
|
+ detail.setSrcTeamName(item.getTeamName());
|
|
|
+ detail.setLocked(0);
|
|
|
+ detail.setOperatorId(item.getOperatorId());
|
|
|
+ detail.setOperatorName(item.getOperatorName());
|
|
|
+ billLocksList.add(detail);
|
|
|
+ } else {
|
|
|
+ BillLocks billLocks1 = new BillLocks();
|
|
|
+ billLocks1.setCreateTime(new Date());
|
|
|
+ billLocks1.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks1.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks1.setBranchId(item.getBranchId());
|
|
|
+ billLocks1.setBillNo(item.getBillNo());
|
|
|
+ billLocks1.setBillDate(item.getBillDate());
|
|
|
+ billLocks1.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks1.setBusinessType(billLocks.getBusinessType());
|
|
|
+ billLocks1.setSrcId(item.getId());
|
|
|
+ billLocks1.setSrcBillNo(item.getBillNo());
|
|
|
+ billLocks1.setSrcVesselId(item.getVesselId());
|
|
|
+ billLocks1.setSrcVesselCnName(item.getVesselCnName());
|
|
|
+ billLocks1.setSrcVesselEnName(item.getVesselEnName());
|
|
|
+ billLocks1.setSrcVoyageNo(item.getVoyageNo());
|
|
|
+ billLocks1.setSrcMblno(item.getMblno());
|
|
|
+ billLocks1.setSrcRefno(item.getRefno());
|
|
|
+ billLocks1.setSrcTeamId(Long.parseLong(item.getTeamId()));
|
|
|
+ billLocks1.setSrcTeamName(item.getTeamName());
|
|
|
+ billLocks1.setLocked(0);
|
|
|
+ billLocks1.setUnlockedCount(0);
|
|
|
+ billLocks1.setOperatorId(item.getOperatorId());
|
|
|
+ billLocks1.setOperatorName(item.getOperatorName());
|
|
|
+ billLocksList.add(billLocks1);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ BillLocks billLocks1 = new BillLocks();
|
|
|
+ billLocks1.setCreateTime(new Date());
|
|
|
+ billLocks1.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks1.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks1.setBranchId(item.getBranchId());
|
|
|
+ billLocks1.setBillNo(item.getBillNo());
|
|
|
+ billLocks1.setBillDate(item.getBillDate());
|
|
|
+ billLocks1.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks1.setBusinessType(billLocks.getBusinessType());
|
|
|
+ billLocks1.setSrcId(item.getId());
|
|
|
+ billLocks1.setSrcBillNo(item.getBillNo());
|
|
|
+ billLocks1.setSrcVesselId(item.getVesselId());
|
|
|
+ billLocks1.setSrcVesselCnName(item.getVesselCnName());
|
|
|
+ billLocks1.setSrcVesselEnName(item.getVesselEnName());
|
|
|
+ billLocks1.setSrcVoyageNo(item.getVoyageNo());
|
|
|
+ billLocks1.setSrcMblno(item.getMblno());
|
|
|
+ billLocks1.setSrcRefno(item.getRefno());
|
|
|
+ billLocks1.setSrcTeamId(Long.parseLong(item.getTeamId()));
|
|
|
+ billLocks1.setSrcTeamName(item.getTeamName());
|
|
|
+ billLocks1.setLocked(0);
|
|
|
+ billLocks1.setUnlockedCount(0);
|
|
|
+ billLocks1.setOperatorId(item.getOperatorId());
|
|
|
+ billLocks1.setOperatorName(item.getOperatorName());
|
|
|
+ billLocksList.add(billLocks1);
|
|
|
+ }
|
|
|
+ item.setLocked(1);
|
|
|
+ billsList.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if ("KYCK,KYJK".contains(billLocks.getBusinessType())) {
|
|
|
+ AeaBills bills = aeaBillsService.getById(billLocks.getSrcId());
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("未查到单据信息");
|
|
|
+ }
|
|
|
+ List<AeaBills> billsWholeList = aeaBillsService.list(new LambdaQueryWrapper<AeaBills>()
|
|
|
+ .eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(AeaBills::getIsDeleted, 0)
|
|
|
+ .eq(AeaBills::getVoyageNo, bills.getVoyageNo())
|
|
|
+ .eq(AeaBills::getBranchId, bills.getBranchId())
|
|
|
+ .eq(AeaBills::getTeamId, bills.getTeamId()));
|
|
|
+ List<Long> idList = billsWholeList.stream().map(AeaBills::getId).collect(Collectors.toList());
|
|
|
+ if (!idList.isEmpty()) {
|
|
|
+ List<BillLocks> detailList = baseMapper.selectList(new LambdaQueryWrapper<BillLocks>()
|
|
|
+ .eq(BillLocks::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BillLocks::getIsDeleted, 0)
|
|
|
+ .in(BillLocks::getSrcId, idList));
|
|
|
+ for (AeaBills item : billsWholeList) {
|
|
|
+ if (!detailList.isEmpty()) {
|
|
|
+ BillLocks detail = detailList.stream().filter(e -> e.getSrcId().equals(item.getId()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (detail != null) {
|
|
|
+ detail.setUpdateTime(new Date());
|
|
|
+ detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ detail.setBranchId(item.getBranchId());
|
|
|
+ detail.setBillNo(item.getBillNo());
|
|
|
+ detail.setBillDate(item.getBillDate());
|
|
|
+ detail.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ detail.setSrcBillNo(item.getBillNo());
|
|
|
+ detail.setSrcVoyageNo(item.getVoyageNo());
|
|
|
+ detail.setSrcMblno(item.getMblno());
|
|
|
+ detail.setSrcRefno(item.getRefno());
|
|
|
+ detail.setSrcTeamId(Long.parseLong(item.getTeamId()));
|
|
|
+ detail.setSrcTeamName(item.getTeamName());
|
|
|
+ detail.setLocked(0);
|
|
|
+ detail.setOperatorId(item.getOperatorId());
|
|
|
+ detail.setOperatorName(item.getOperatorName());
|
|
|
+ billLocksList.add(detail);
|
|
|
+ } else {
|
|
|
+ BillLocks billLocks1 = new BillLocks();
|
|
|
+ billLocks1.setCreateTime(new Date());
|
|
|
+ billLocks1.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks1.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks1.setBranchId(item.getBranchId());
|
|
|
+ billLocks1.setBillNo(item.getBillNo());
|
|
|
+ billLocks1.setBillDate(item.getBillDate());
|
|
|
+ billLocks1.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks1.setBusinessType(billLocks.getBusinessType());
|
|
|
+ billLocks1.setSrcId(item.getId());
|
|
|
+ billLocks1.setSrcBillNo(item.getBillNo());
|
|
|
+ billLocks1.setSrcVoyageNo(item.getVoyageNo());
|
|
|
+ billLocks1.setSrcMblno(item.getMblno());
|
|
|
+ billLocks1.setSrcRefno(item.getRefno());
|
|
|
+ billLocks1.setSrcTeamId(Long.parseLong(item.getTeamId()));
|
|
|
+ billLocks1.setSrcTeamName(item.getTeamName());
|
|
|
+ billLocks1.setLocked(0);
|
|
|
+ billLocks1.setUnlockedCount(0);
|
|
|
+ billLocks1.setOperatorId(item.getOperatorId());
|
|
|
+ billLocks1.setOperatorName(item.getOperatorName());
|
|
|
+ billLocksList.add(billLocks1);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ BillLocks billLocks1 = new BillLocks();
|
|
|
+ billLocks1.setCreateTime(new Date());
|
|
|
+ billLocks1.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks1.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks1.setBranchId(item.getBranchId());
|
|
|
+ billLocks1.setBillNo(item.getBillNo());
|
|
|
+ billLocks1.setBillDate(item.getBillDate());
|
|
|
+ billLocks1.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks1.setBusinessType(billLocks.getBusinessType());
|
|
|
+ billLocks1.setSrcId(item.getId());
|
|
|
+ billLocks1.setSrcBillNo(item.getBillNo());
|
|
|
+ billLocks1.setSrcVoyageNo(item.getVoyageNo());
|
|
|
+ billLocks1.setSrcMblno(item.getMblno());
|
|
|
+ billLocks1.setSrcRefno(item.getRefno());
|
|
|
+ billLocks1.setSrcTeamId(Long.parseLong(item.getTeamId()));
|
|
|
+ billLocks1.setSrcTeamName(item.getTeamName());
|
|
|
+ billLocks1.setLocked(0);
|
|
|
+ billLocks1.setUnlockedCount(0);
|
|
|
+ billLocks1.setOperatorId(item.getOperatorId());
|
|
|
+ billLocks1.setOperatorName(item.getOperatorName());
|
|
|
+ billLocksList.add(billLocks1);
|
|
|
+ }
|
|
|
+ item.setLocked(1);
|
|
|
+ aeaBillsList.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if ("BGSE,BGSI,BGAE,BGAI".contains(billLocks.getBusinessType())) {
|
|
|
+ CustomsDeclaration bills = customsDeclarationService.getById(billLocks.getSrcId());
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("未查到单据信息");
|
|
|
+ }
|
|
|
+ List<CustomsDeclaration> billsWholeList = customsDeclarationService.list(new LambdaQueryWrapper<CustomsDeclaration>()
|
|
|
+ .eq(CustomsDeclaration::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(CustomsDeclaration::getIsDeleted, 0)
|
|
|
+ .eq(CustomsDeclaration::getVesselId, bills.getVesselId())
|
|
|
+ .eq(CustomsDeclaration::getBranchId, bills.getBranchId())
|
|
|
+ .eq(CustomsDeclaration::getTeamId, bills.getTeamId()));
|
|
|
+ List<Long> idList = billsWholeList.stream().map(CustomsDeclaration::getId).collect(Collectors.toList());
|
|
|
+ if (!idList.isEmpty()) {
|
|
|
+ List<BillLocks> detailList = baseMapper.selectList(new LambdaQueryWrapper<BillLocks>()
|
|
|
+ .eq(BillLocks::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BillLocks::getIsDeleted, 0)
|
|
|
+ .in(BillLocks::getSrcId, idList));
|
|
|
+ for (CustomsDeclaration item : billsWholeList) {
|
|
|
+ if (!detailList.isEmpty()) {
|
|
|
+ BillLocks detail = detailList.stream().filter(e -> e.getSrcId().equals(item.getId()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (detail != null) {
|
|
|
+ detail.setUpdateTime(new Date());
|
|
|
+ detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ detail.setBranchId(item.getBranchId());
|
|
|
+ detail.setBillNo(item.getBillNo());
|
|
|
+ detail.setBillDate(item.getBillDate());
|
|
|
+ detail.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ detail.setSrcBillNo(item.getBillNo());
|
|
|
+ detail.setSrcVesselId(item.getVesselId());
|
|
|
+ detail.setSrcVesselCnName(item.getVesselCnName());
|
|
|
+ detail.setSrcVesselEnName(item.getVesselEnName());
|
|
|
+ detail.setSrcMblno(item.getMblno());
|
|
|
+ detail.setSrcRefno(item.getRefno());
|
|
|
+ detail.setSrcTeamId(item.getTeamId());
|
|
|
+ detail.setSrcTeamName(item.getTeamName());
|
|
|
+ detail.setLocked(0);
|
|
|
+ billLocksList.add(detail);
|
|
|
+ } else {
|
|
|
+ BillLocks billLocks1 = new BillLocks();
|
|
|
+ billLocks1.setCreateTime(new Date());
|
|
|
+ billLocks1.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks1.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks1.setBranchId(item.getBranchId());
|
|
|
+ billLocks1.setBillNo(item.getBillNo());
|
|
|
+ billLocks1.setBillDate(item.getBillDate());
|
|
|
+ billLocks1.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks1.setBusinessType(billLocks.getBusinessType());
|
|
|
+ billLocks1.setSrcId(item.getId());
|
|
|
+ billLocks1.setSrcBillNo(item.getBillNo());
|
|
|
+ billLocks1.setSrcVesselId(item.getVesselId());
|
|
|
+ billLocks1.setSrcVesselCnName(item.getVesselCnName());
|
|
|
+ billLocks1.setSrcVesselEnName(item.getVesselEnName());
|
|
|
+ billLocks1.setSrcMblno(item.getMblno());
|
|
|
+ billLocks1.setSrcRefno(item.getRefno());
|
|
|
+ billLocks1.setSrcTeamId(item.getTeamId());
|
|
|
+ billLocks1.setSrcTeamName(item.getTeamName());
|
|
|
+ billLocks1.setLocked(0);
|
|
|
+ billLocks1.setUnlockedCount(0);
|
|
|
+ billLocksList.add(billLocks1);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ BillLocks billLocks1 = new BillLocks();
|
|
|
+ billLocks1.setCreateTime(new Date());
|
|
|
+ billLocks1.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks1.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks1.setBranchId(item.getBranchId());
|
|
|
+ billLocks1.setBillNo(item.getBillNo());
|
|
|
+ billLocks1.setBillDate(item.getBillDate());
|
|
|
+ billLocks1.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks1.setBusinessType(billLocks.getBusinessType());
|
|
|
+ billLocks1.setSrcId(item.getId());
|
|
|
+ billLocks1.setSrcBillNo(item.getBillNo());
|
|
|
+ billLocks1.setSrcVesselId(item.getVesselId());
|
|
|
+ billLocks1.setSrcVesselCnName(item.getVesselCnName());
|
|
|
+ billLocks1.setSrcVesselEnName(item.getVesselEnName());
|
|
|
+ billLocks1.setSrcMblno(item.getMblno());
|
|
|
+ billLocks1.setSrcRefno(item.getRefno());
|
|
|
+ billLocks1.setSrcTeamId(item.getTeamId());
|
|
|
+ billLocks1.setSrcTeamName(item.getTeamName());
|
|
|
+ billLocks1.setLocked(0);
|
|
|
+ billLocks1.setUnlockedCount(0);
|
|
|
+ billLocksList.add(billLocks1);
|
|
|
+ }
|
|
|
+ item.setLocked(1);
|
|
|
+ customsDeclarationList.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
- billLocks.setCreateTime(new Date());
|
|
|
- billLocks.setCreateUser(AuthUtil.getUserId());
|
|
|
- billLocks.setCreateUserName(AuthUtil.getUserName());
|
|
|
- billLocks.setBranchId(bills.getBranchId());
|
|
|
- billLocks.setBillNo(bills.getBillNo());
|
|
|
- billLocks.setBillDate(bills.getBillDate());
|
|
|
- billLocks.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
- billLocks.setSrcBillNo(bills.getBillNo());
|
|
|
- billLocks.setSrcVesselId(bills.getVesselId());
|
|
|
- billLocks.setSrcVesselCnName(bills.getVesselCnName());
|
|
|
- billLocks.setSrcVesselEnName(bills.getVesselEnName());
|
|
|
- billLocks.setSrcVoyageNo(bills.getVoyageNo());
|
|
|
- billLocks.setSrcMblno(bills.getMblno());
|
|
|
- billLocks.setSrcRefno(bills.getRefno());
|
|
|
- billLocks.setSrcTeamId(Long.parseLong(bills.getTeamId()));
|
|
|
- billLocks.setSrcTeamName(bills.getTeamName());
|
|
|
- billLocks.setLocked(0);
|
|
|
- billLocks.setUnlockedCount(0);
|
|
|
- billLocks.setOperatorId(bills.getOperatorId());
|
|
|
- billLocks.setOperatorName(bills.getOperatorName());
|
|
|
- baseMapper.insert(billLocks);
|
|
|
+ throw new RuntimeException("业务类型错误,请联系管理员");
|
|
|
}
|
|
|
- bills.setLocked(1);
|
|
|
- billsService.updateById(bills);
|
|
|
- } else if ("KYCK,KYJK".contains(billLocks.getBusinessType())) {
|
|
|
-
|
|
|
- } else if ("BGSE,BGSI,BGAE,BGAI".contains(billLocks.getBusinessType())) {
|
|
|
-
|
|
|
} else {
|
|
|
- throw new RuntimeException("业务类型错误,请联系管理员");
|
|
|
+ BillLocks detail = baseMapper.selectOne(new LambdaQueryWrapper<BillLocks>()
|
|
|
+ .eq(BillLocks::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BillLocks::getIsDeleted, 0)
|
|
|
+ .eq(BillLocks::getSrcId, billLocks.getSrcId()));
|
|
|
+ if ("HYCK,HYJK".contains(billLocks.getBusinessType())) {
|
|
|
+ Bills bills = billsService.getById(billLocks.getSrcId());
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("未查到单据信息");
|
|
|
+ }
|
|
|
+ if (detail != null) {
|
|
|
+ detail.setUpdateTime(new Date());
|
|
|
+ detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ detail.setBranchId(bills.getBranchId());
|
|
|
+ detail.setBillNo(bills.getBillNo());
|
|
|
+ detail.setBillDate(bills.getBillDate());
|
|
|
+ detail.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ detail.setSrcBillNo(bills.getBillNo());
|
|
|
+ detail.setSrcVesselId(bills.getVesselId());
|
|
|
+ detail.setSrcVesselCnName(bills.getVesselCnName());
|
|
|
+ detail.setSrcVesselEnName(bills.getVesselEnName());
|
|
|
+ detail.setSrcVoyageNo(bills.getVoyageNo());
|
|
|
+ detail.setSrcMblno(bills.getMblno());
|
|
|
+ detail.setSrcRefno(bills.getRefno());
|
|
|
+ detail.setSrcTeamId(Long.parseLong(bills.getTeamId()));
|
|
|
+ detail.setSrcTeamName(bills.getTeamName());
|
|
|
+ detail.setLocked(0);
|
|
|
+ detail.setOperatorId(bills.getOperatorId());
|
|
|
+ detail.setOperatorName(bills.getOperatorName());
|
|
|
+ billLocksList.add(detail);
|
|
|
+ } else {
|
|
|
+ billLocks.setCreateTime(new Date());
|
|
|
+ billLocks.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks.setBranchId(bills.getBranchId());
|
|
|
+ billLocks.setBillNo(bills.getBillNo());
|
|
|
+ billLocks.setBillDate(bills.getBillDate());
|
|
|
+ billLocks.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks.setSrcBillNo(bills.getBillNo());
|
|
|
+ billLocks.setSrcVesselId(bills.getVesselId());
|
|
|
+ billLocks.setSrcVesselCnName(bills.getVesselCnName());
|
|
|
+ billLocks.setSrcVesselEnName(bills.getVesselEnName());
|
|
|
+ billLocks.setSrcVoyageNo(bills.getVoyageNo());
|
|
|
+ billLocks.setSrcMblno(bills.getMblno());
|
|
|
+ billLocks.setSrcRefno(bills.getRefno());
|
|
|
+ billLocks.setSrcTeamId(Long.parseLong(bills.getTeamId()));
|
|
|
+ billLocks.setSrcTeamName(bills.getTeamName());
|
|
|
+ billLocks.setLocked(0);
|
|
|
+ billLocks.setUnlockedCount(0);
|
|
|
+ billLocks.setOperatorId(bills.getOperatorId());
|
|
|
+ billLocks.setOperatorName(bills.getOperatorName());
|
|
|
+ billLocksList.add(billLocks);
|
|
|
+ }
|
|
|
+ bills.setLocked(1);
|
|
|
+ billsList.add(bills);
|
|
|
+ } else if ("KYCK,KYJK".contains(billLocks.getBusinessType())) {
|
|
|
+ AeaBills bills = aeaBillsService.getById(billLocks.getSrcId());
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("未查到单据信息");
|
|
|
+ }
|
|
|
+ if (detail != null) {
|
|
|
+ detail.setUpdateTime(new Date());
|
|
|
+ detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ detail.setBranchId(bills.getBranchId());
|
|
|
+ detail.setBillNo(bills.getBillNo());
|
|
|
+ detail.setBillDate(bills.getBillDate());
|
|
|
+ detail.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ detail.setSrcBillNo(bills.getBillNo());
|
|
|
+ detail.setSrcVoyageNo(bills.getVoyageNo());
|
|
|
+ detail.setSrcMblno(bills.getMblno());
|
|
|
+ detail.setSrcRefno(bills.getRefno());
|
|
|
+ detail.setSrcTeamId(Long.parseLong(bills.getTeamId()));
|
|
|
+ detail.setSrcTeamName(bills.getTeamName());
|
|
|
+ detail.setLocked(0);
|
|
|
+ detail.setOperatorId(bills.getOperatorId());
|
|
|
+ detail.setOperatorName(bills.getOperatorName());
|
|
|
+ billLocksList.add(detail);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ billLocks.setCreateTime(new Date());
|
|
|
+ billLocks.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks.setBranchId(bills.getBranchId());
|
|
|
+ billLocks.setBillNo(bills.getBillNo());
|
|
|
+ billLocks.setBillDate(bills.getBillDate());
|
|
|
+ billLocks.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks.setSrcBillNo(bills.getBillNo());
|
|
|
+ billLocks.setSrcVoyageNo(bills.getVoyageNo());
|
|
|
+ billLocks.setSrcMblno(bills.getMblno());
|
|
|
+ billLocks.setSrcRefno(bills.getRefno());
|
|
|
+ billLocks.setSrcTeamId(Long.parseLong(bills.getTeamId()));
|
|
|
+ billLocks.setSrcTeamName(bills.getTeamName());
|
|
|
+ billLocks.setLocked(0);
|
|
|
+ billLocks.setUnlockedCount(0);
|
|
|
+ billLocks.setOperatorId(bills.getOperatorId());
|
|
|
+ billLocks.setOperatorName(bills.getOperatorName());
|
|
|
+ billLocksList.add(billLocks);
|
|
|
+ }
|
|
|
+ bills.setLocked(1);
|
|
|
+ aeaBillsList.add(bills);
|
|
|
+ } else if ("BGSE,BGSI,BGAE,BGAI".contains(billLocks.getBusinessType())) {
|
|
|
+ CustomsDeclaration bills = customsDeclarationService.getById(billLocks.getSrcId());
|
|
|
+ if (bills == null) {
|
|
|
+ throw new RuntimeException("未查到单据信息");
|
|
|
+ }
|
|
|
+ if (detail != null) {
|
|
|
+ detail.setUpdateTime(new Date());
|
|
|
+ detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ detail.setBranchId(bills.getBranchId());
|
|
|
+ detail.setBillNo(bills.getBillNo());
|
|
|
+ detail.setBillDate(bills.getBillDate());
|
|
|
+ detail.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ detail.setSrcBillNo(bills.getBillNo());
|
|
|
+ detail.setSrcVesselId(bills.getVesselId());
|
|
|
+ detail.setSrcVesselCnName(bills.getVesselCnName());
|
|
|
+ detail.setSrcVesselEnName(bills.getVesselEnName());
|
|
|
+ detail.setSrcMblno(bills.getMblno());
|
|
|
+ detail.setSrcRefno(bills.getRefno());
|
|
|
+ detail.setSrcTeamId(bills.getTeamId());
|
|
|
+ detail.setSrcTeamName(bills.getTeamName());
|
|
|
+ detail.setLocked(0);
|
|
|
+ billLocksList.add(detail);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ billLocks.setCreateTime(new Date());
|
|
|
+ billLocks.setCreateUser(AuthUtil.getUserId());
|
|
|
+ billLocks.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ billLocks.setBranchId(bills.getBranchId());
|
|
|
+ billLocks.setBillNo(bills.getBillNo());
|
|
|
+ billLocks.setBillDate(bills.getBillDate());
|
|
|
+ billLocks.setBusinessTypeName(billLocks.getBusinessType());
|
|
|
+ billLocks.setSrcBillNo(bills.getBillNo());
|
|
|
+ billLocks.setSrcVesselId(bills.getVesselId());
|
|
|
+ billLocks.setSrcVesselCnName(bills.getVesselCnName());
|
|
|
+ billLocks.setSrcVesselEnName(bills.getVesselEnName());
|
|
|
+ billLocks.setSrcMblno(bills.getMblno());
|
|
|
+ billLocks.setSrcRefno(bills.getRefno());
|
|
|
+ billLocks.setSrcTeamId(bills.getTeamId());
|
|
|
+ billLocks.setSrcTeamName(bills.getTeamName());
|
|
|
+ billLocks.setLocked(0);
|
|
|
+ billLocks.setUnlockedCount(0);
|
|
|
+ billLocksList.add(billLocks);
|
|
|
+ }
|
|
|
+ bills.setLocked(1);
|
|
|
+ customsDeclarationList.add(bills);
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("业务类型错误,请联系管理员");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!billLocksList.isEmpty()) {
|
|
|
+ this.saveOrUpdateBatch(billLocksList);
|
|
|
+ }
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ billsService.updateBatchById(billsList);
|
|
|
+ }
|
|
|
+ if (!aeaBillsList.isEmpty()) {
|
|
|
+ aeaBillsService.updateBatchById(aeaBillsList);
|
|
|
+ }
|
|
|
+ if (!customsDeclarationList.isEmpty()) {
|
|
|
+ customsDeclarationService.updateBatchById(customsDeclarationList);
|
|
|
}
|
|
|
return R.data("操作成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public R unlock(String ids) {
|
|
|
List<BillLocks> billLocksList = baseMapper.selectList(new LambdaQueryWrapper<BillLocks>()
|
|
|
.eq(BillLocks::getTenantId, AuthUtil.getTenantId())
|