|
|
@@ -183,12 +183,50 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
bills.setMblno(bills.getMblno().replaceAll(" ", ""));
|
|
|
}
|
|
|
- List<Bills> count = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
- .select(Bills::getId)
|
|
|
- .eq(Bills::getCreateDept, branchId)
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .eq(Bills::getMblno, bills.getMblno()));
|
|
|
+
|
|
|
+ // List<Bills> count = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ // .select(Bills::getId)
|
|
|
+ // .eq(Bills::getCreateDept, branchId)
|
|
|
+ // .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ // .eq(Bills::getIsDeleted, 0)
|
|
|
+ // .eq(Bills::getMblno, bills.getMblno()));
|
|
|
+
|
|
|
+ List<Bills> count = null;
|
|
|
+ // 只判断海运出口
|
|
|
+ if("SE".equals(bills.getBusinessType()) && ObjectUtils.isNotNull(bills.getMblno())){
|
|
|
+ // 改为同一团队内,Booking+MblNo 不重复
|
|
|
+ LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.select(Bills::getId);
|
|
|
+ // CreateDept 是一级部门,总公司,分公司等
|
|
|
+ lambdaQueryWrapper.eq(Bills::getCreateDept, branchId)
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getTeamId, bills.getTeamId())
|
|
|
+ .eq(Bills::getMblno, bills.getMblno());
|
|
|
+ if(ObjectUtils.isNotNull(bills.getBookingNo())) {
|
|
|
+ lambdaQueryWrapper.eq(Bills::getBookingNo, bills.getBookingNo());
|
|
|
+ }
|
|
|
+ if(ObjectUtils.isNotNull(bills.getId())) {
|
|
|
+ lambdaQueryWrapper.ne(Bills::getId, bills.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> billTypes = new ArrayList<>();
|
|
|
+ if("DDMM".contains(bills.getBillType())){
|
|
|
+ billTypes.add("DD");
|
|
|
+ billTypes.add("MM");
|
|
|
+ }else{
|
|
|
+ billTypes.add("MH");
|
|
|
+ billTypes.add("HH");
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.in(Bills::getBillType, billTypes);
|
|
|
+
|
|
|
+ count = baseMapper.selectList(lambdaQueryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ObjectUtils.isNotNull(count) && count.size()>0){
|
|
|
+ throw new RuntimeException("提单号不允许重复输入:" + bills.getMblno());
|
|
|
+ }
|
|
|
+
|
|
|
if ("SE".equals(bills.getBusinessType())) {
|
|
|
bills.setBillDate(bills.getEtd());
|
|
|
} else {
|
|
|
@@ -260,13 +298,13 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
}
|
|
|
}
|
|
|
if (bills.getId() == null) {
|
|
|
- if (!"MH".equals(bills.getBillType())) {
|
|
|
- if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
- if (!count.isEmpty()) {
|
|
|
- throw new RuntimeException("提单号不允许重复:" + bills.getMblno());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // if (!"MH".equals(bills.getBillType())) {
|
|
|
+ // if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
+ // if (!count.isEmpty()) {
|
|
|
+ // throw new RuntimeException("提单号不允许重复:" + bills.getMblno());
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
BusinessType businessType = bBusinessTypeService.getOne(new LambdaQueryWrapper<BusinessType>()
|
|
|
.select(BusinessType::getId)
|
|
|
.eq(BusinessType::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -313,14 +351,14 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
// 旧数据处理
|
|
|
int version = StringUtil.isBlank(dataSourceBill.getVersion()) ? 1 : Integer.parseInt(dataSourceBill.getVersion());
|
|
|
bills.setVersion(String.valueOf(version + 1));
|
|
|
- List<Long> ids = count.stream().map(Bills::getId).distinct().collect(Collectors.toList());
|
|
|
- if (!"MH".equals(bills.getBillType())) {
|
|
|
- if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
- if (!count.isEmpty() && !ids.contains(bills.getId())) {
|
|
|
- throw new RuntimeException("提单号不允许重复:" + bills.getMblno());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // List<Long> ids = count.stream().map(Bills::getId).distinct().collect(Collectors.toList());
|
|
|
+ // if (!"MH".equals(bills.getBillType())) {
|
|
|
+ // if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
+ // if (!count.isEmpty() && !ids.contains(bills.getId())) {
|
|
|
+ // throw new RuntimeException("提单号不允许重复:" + bills.getMblno());
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
bills.setUpdateUser(AuthUtil.getUserId());
|
|
|
bills.setUpdateTime(new Date());
|
|
|
bills.setUpdateUserName(AuthUtil.getUserName());
|
|
|
@@ -3530,12 +3568,50 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
bills.setMblno(bills.getMblno().replaceAll(" ", ""));
|
|
|
}
|
|
|
- List<Bills> count = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getBranchId, branchId)
|
|
|
- .eq(Bills::getCreateDept, AuthUtil.getDeptId())
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .eq(Bills::getMblno, bills.getMblno()));
|
|
|
+
|
|
|
+ // List<Bills> count = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ // .eq(Bills::getBranchId, branchId)
|
|
|
+ // .eq(Bills::getCreateDept, AuthUtil.getDeptId())
|
|
|
+ // .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ // .eq(Bills::getIsDeleted, 0)
|
|
|
+ // .eq(Bills::getMblno, bills.getMblno()));
|
|
|
+
|
|
|
+ List<Bills> count = null;
|
|
|
+ // 只判断海运出口
|
|
|
+ if("SE".equals(bills.getBusinessType()) && ObjectUtils.isNotNull(bills.getMblno())){
|
|
|
+ // 改为同一团队内,Booking+MblNo 不重复
|
|
|
+ LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.select(Bills::getId);
|
|
|
+ // CreateDept 是一级部门,总公司,分公司等
|
|
|
+ lambdaQueryWrapper.eq(Bills::getCreateDept, branchId)
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getTeamId, bills.getTeamId())
|
|
|
+ .eq(Bills::getMblno, bills.getMblno());
|
|
|
+ if(ObjectUtils.isNotNull(bills.getBookingNo())) {
|
|
|
+ lambdaQueryWrapper.eq(Bills::getBookingNo, bills.getBookingNo());
|
|
|
+ }
|
|
|
+ if(ObjectUtils.isNotNull(bills.getId())) {
|
|
|
+ lambdaQueryWrapper.ne(Bills::getId, bills.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> billTypes = new ArrayList<>();
|
|
|
+ if("DDMM".contains(bills.getBillType())){
|
|
|
+ billTypes.add("DD");
|
|
|
+ billTypes.add("MM");
|
|
|
+ }else{
|
|
|
+ billTypes.add("MH");
|
|
|
+ billTypes.add("HH");
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.in(Bills::getBillType, billTypes);
|
|
|
+
|
|
|
+ count = baseMapper.selectList(lambdaQueryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ObjectUtils.isNotNull(count) && count.size()>0){
|
|
|
+ throw new RuntimeException("提单号不允许重复输入:" + bills.getMblno());
|
|
|
+ }
|
|
|
+
|
|
|
if ("SE".equals(bills.getBusinessType())) {
|
|
|
bills.setBillDate(bills.getEtd());
|
|
|
} else {
|
|
|
@@ -3566,14 +3642,14 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
.eq(Bills::getVoyageNo, bills.getVoyageNo()));
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
if (bills.getId() == null) {
|
|
|
- if (!"MH".equals(bills.getBillType())) {
|
|
|
- if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
- List<Bills> billsList = count.stream().filter(e -> e.getTeamId().equals(AuthUtil.getPostId())).collect(Collectors.toList());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- return R.data("1", "提单号不允许重复:" + bills.getMblno());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // if (!"MH".equals(bills.getBillType())) {
|
|
|
+ // if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
+ // List<Bills> billsList = count.stream().filter(e -> e.getTeamId().equals(AuthUtil.getPostId())).collect(Collectors.toList());
|
|
|
+ // if (!billsList.isEmpty()) {
|
|
|
+ // return R.data("1", "提单号不允许重复:" + bills.getMblno());
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
if (ObjectUtils.isNotNull(bills.getVesselId()) && ObjectUtils.isNotNull(bills.getVoyageNo())) {
|
|
|
if (!dateList.isEmpty() && dateList.stream().anyMatch(e -> !e.getBillDate().equals(bills.getBillDate()))) {
|
|
|
List<Bills> bills1 = dateList.stream().filter(e -> !e.getBillDate().equals(bills.getBillDate())).collect(Collectors.toList());
|
|
|
@@ -3581,17 +3657,17 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- List<Bills> billsList = count.stream().filter(e -> ObjectUtils.isNotNull(e.getTeamId()) && e.getTeamId().equals(AuthUtil.getPostId())).collect(Collectors.toList());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- List<Long> ids = billsList.stream().map(Bills::getId).distinct().collect(Collectors.toList());
|
|
|
- if (!"MH".equals(bills.getBillType())) {
|
|
|
- if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
- if (!ids.contains(bills.getId())) {
|
|
|
- return R.data("1", "提单号不允许重复:" + bills.getMblno());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // List<Bills> billsList = count.stream().filter(e -> ObjectUtils.isNotNull(e.getTeamId()) && e.getTeamId().equals(AuthUtil.getPostId())).collect(Collectors.toList());
|
|
|
+ // if (!billsList.isEmpty()) {
|
|
|
+ // List<Long> ids = billsList.stream().map(Bills::getId).distinct().collect(Collectors.toList());
|
|
|
+ // if (!"MH".equals(bills.getBillType())) {
|
|
|
+ // if (ObjectUtils.isNotNull(bills.getMblno())) {
|
|
|
+ // if (!ids.contains(bills.getId())) {
|
|
|
+ // return R.data("1", "提单号不允许重复:" + bills.getMblno());
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
if (ObjectUtils.isNotNull(bills.getVesselId()) && ObjectUtils.isNotNull(bills.getVoyageNo())) {
|
|
|
if (!dateList.isEmpty() && dateList.stream().anyMatch(e -> !e.getId().equals(bills.getId()) && !e.getBillDate().equals(bills.getBillDate()))) {
|
|
|
List<Bills> bills1 = dateList.stream().filter(e -> !e.getId().equals(bills.getId()) && !e.getBillDate().equals(bills.getBillDate())).collect(Collectors.toList());
|