Browse Source

1.久置柜列表接口增加提单号查询
2.箱轨迹检索条件增加装船,卸船
3.海运进出口保存报差修改
4.客户还箱生成箱轨迹港口取值不对
5.海运出口配箱列表清除箱号接口增加判断有放箱号不允许清除
6.OW放获取放箱号增加条件,可用不为0
7.OW拿获取xinOW拿单据增加条件去除本单据
8.OW拿增加批量修改放箱号接口计算箱量bug修改

纪新园 1 day ago
parent
commit
2feb930213

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/ArchivesTrajectoryController.java

@@ -96,7 +96,7 @@ public class ArchivesTrajectoryController extends BladeController {
 			}else if ("出场".equals(archivesTrajectory.getBoxDynamics())){
 				lambdaQueryWrapper.apply("find_in_set(box_dynamics,'内点摆箱,外点备箱,空箱集港,退租出场,起租箱出场,场内起租出场,新箱出场,直接调运出场,直接退租出场,场内退租出场')");
 			}else{
-				lambdaQueryWrapper.apply("find_in_set(box_dynamics,'更改放箱号,箱档案-更改箱状态,海运出口-拆单')");
+				lambdaQueryWrapper.apply("find_in_set(box_dynamics,'更改放箱号,箱档案-更改箱状态,海运出口-拆单,装船,卸船')");
 			}
 		}
 

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/PutBoxController.java

@@ -260,6 +260,7 @@ public class PutBoxController extends BladeController {
 			.eq(ObjectUtils.isNotNull(putBox.getBoxType()), PutBox::getBoxType, putBox.getBoxType())
 			.eq(PutBox::getBoxClass, "自有箱")
 			.eq(PutBox::getWhetherDeactivate, "0")
+			.ne(PutBox::getRemainingNum, 0)
 			.like(ObjectUtils.isNotNull(putBox.getContainerNumber()), PutBox::getContainerNumber, putBox.getContainerNumber())
 			.eq(ObjectUtils.isNotNull(putBox.getBoxBelongsTo()), PutBox::getBoxBelongsTo, putBox.getBoxBelongsTo())
 			.like(ObjectUtils.isNotNull(putBox.getPodId()), PutBox::getPodId, putBox.getPodId())

+ 7 - 4
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxController.java

@@ -92,6 +92,7 @@ public class TradingBoxController extends BladeController {
 		LambdaQueryWrapper<TradingBox> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(TradingBox::getTenantId, AuthUtil.getTenantId())
 			.eq(TradingBox::getIsDeleted, 0)
+			.ne(ObjectUtils.isNotNull(tradingBox.getId()), TradingBox::getId, tradingBox.getId())
 			.like(ObjectUtils.isNotNull(tradingBox.getSysNo()), TradingBox::getSysNo, tradingBox.getSysNo())
 			.like(ObjectUtils.isNotNull(tradingBox.getContractNo()), TradingBox::getContractNo, tradingBox.getContractNo())
 			.like(ObjectUtils.isNotNull(tradingBox.getMblno()), TradingBox::getMblno, tradingBox.getMblno())
@@ -124,10 +125,12 @@ public class TradingBoxController extends BladeController {
 			.eq(ObjectUtils.isNotNull(tradingBox.getApprovalStatus()), TradingBox::getApprovalStatus, tradingBox.getApprovalStatus())
 			.eq(ObjectUtils.isNotNull(tradingBox.getDc()), TradingBox::getDc, tradingBox.getDc())
 		;
-		if (ObjectUtils.isNotNull(tradingBox.getEffectiveDate()) && ObjectUtils.isNotNull(tradingBox.getExpiryDate())) {
-			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
-			lambdaQueryWrapper.apply(ObjectUtils.isNotNull(tradingBox.getEffectiveDate()), "DATE_FORMAT(effective_date,'%Y-%m-%d') >= '" + formatter.format(tradingBox.getEffectiveDate()) + "'")
-				.apply(ObjectUtils.isNotNull(tradingBox.getExpiryDate()), "DATE_FORMAT(expiry_date,'%Y-%m-%d') >= '" + formatter.format(tradingBox.getExpiryDate()) + "'");
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+		if (ObjectUtils.isNotNull(tradingBox.getEffectiveDate()) ) {
+			lambdaQueryWrapper.apply(ObjectUtils.isNotNull(tradingBox.getEffectiveDate()), "DATE_FORMAT(effective_date,'%Y-%m-%d') >= '" + formatter.format(tradingBox.getEffectiveDate()) + "'");
+		}
+		if ( ObjectUtils.isNotNull(tradingBox.getExpiryDate())) {
+			lambdaQueryWrapper.apply(ObjectUtils.isNotNull(tradingBox.getExpiryDate()), "DATE_FORMAT(expiry_date,'%Y-%m-%d') >= '" + formatter.format(tradingBox.getExpiryDate()) + "'");
 		}
 		if (tradingBox.getEffectiveDateList() != null && tradingBox.getEffectiveDateList().size() > 1) {
 			lambdaQueryWrapper.ge(TradingBox::getEffectiveDate, tradingBox.getEffectiveDateList().get(0));

+ 26 - 26
blade-service/blade-los/src/main/java/org/springblade/los/box/dynamics/service/impl/BoxDynamicsRecordServiceImpl.java

@@ -916,14 +916,16 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 			appearance.setBoxCode(item.getCode());
 			appearance.setBoxType(tradingBox.getBoxTypeQuantityOne());
 			if (ObjectUtils.isNotNull(item.getPodStationId())) {
-                portsList.stream().filter(e -> ObjectUtils.isNotNull(e.getAddressId()) && e.getAddressId().contains(item.getPodStationId() + ""))
-                        .findFirst().ifPresent(ports -> appearance.setPortName(ports.getCnName().replace(",", ",")));
-            } else {
+				portsList.stream().filter(e -> ObjectUtils.isNotNull(e.getAddressId()) && e.getAddressId().contains(item.getPodStationId() + ""))
+					.findFirst().ifPresent(ports -> appearance.setPortName(ports.getCnName().replace(",", ",")));
+			} else {
 				if (ObjectUtils.isNotNull(tradingBox.getPodId()) && !tradingBox.getPodId().contains(",")) {
-					appearance.setPortName(tradingBox.getPodCname().replace(",",","));
+					appearance.setPortName(tradingBox.getPodCname().replace(",", ","));
 				}
 			}
-			appearance.setStationName(item.getPodStationCname().replace(",",","));
+			if (ObjectUtils.isNotNull(item.getPodStationCname())) {
+				appearance.setStationName(item.getPodStationCname().replace(",", ","));
+			}
 			appearance.setMblno(item.getHblno());
 			appearance.setObjective("客户还箱");
 			appearance.setStatus(item.getBoxStatus());
@@ -2328,7 +2330,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							&& e.getPolId().equals(finalArchives.getAddressId()) && e.getPolStationId().equals(finalArchives.getStationId())
 							&& e.getBoxType().equals(finalArchives.getTypeName())).findFirst().orElse(null);
 						if (putBoxOld != null) {
-							if(putBoxOld.getPolId().equals(recordItems.getPortId())){
+							if (putBoxOld.getPolId().equals(recordItems.getPortId())) {
 								failureHandling(type, boxDynamicsRecord, "箱号:" + recordItems.getBoxCode() + "还箱港口与出场港口一致,数据错误");
 								return false;
 							}
@@ -2567,14 +2569,6 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 								if (putBox != null) {
 									//记录箱轨迹信息
 									ArchivesTrajectory archivesTrajectory = new ArchivesTrajectory();
-									archivesTrajectory.setPortId(putBox.getPolId());
-									archivesTrajectory.setPortCode(putBox.getPolCode());
-									archivesTrajectory.setPortCname(putBox.getPolCname());
-									archivesTrajectory.setPortEname(putBox.getPolEname());
-									archivesTrajectory.setStationId(putBox.getPolStationId());
-									archivesTrajectory.setStationCode(putBox.getPolStationCode());
-									archivesTrajectory.setStationCname(putBox.getPolStationCname());
-									archivesTrajectory.setStationEname(putBox.getPolStationEname());
 									archivesTrajectory.setContainerNumber(item.getContainerNumber());
 									archivesTrajectory.setBoxStatus(item.getBoxStatus());
 									archivesTrajectory.setBoxType(item.getBoxType());
@@ -2587,13 +2581,24 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 									if (dynamicsRecordItems != null) {
 										archivesTrajectory.setBoxDynamics(BoxDynamicsEnums.getName(dynamicsRecordItems.getObjective()));
 										archivesTrajectory.setNewDate(dynamicsRecordItems.getApproachExitDate());
+										archivesTrajectory.setPortId(dynamicsRecordItems.getPortId());
+										archivesTrajectory.setPortCode(dynamicsRecordItems.getPortCode());
+										archivesTrajectory.setPortCname(dynamicsRecordItems.getPortCname());
+										archivesTrajectory.setPortEname(dynamicsRecordItems.getPortEname());
+										archivesTrajectory.setPodId(dynamicsRecordItems.getPortId());
+										archivesTrajectory.setPodCode(dynamicsRecordItems.getPortCode());
+										archivesTrajectory.setPodCname(dynamicsRecordItems.getPortCname());
+										archivesTrajectory.setPodEname(dynamicsRecordItems.getPortEname());
 									}
-									if (ObjectUtils.isNotNull(putBox.getPodId()) && !putBox.getPodId().contains(",")) {
-										archivesTrajectory.setPodId(Long.parseLong(putBox.getPodId()));
-										archivesTrajectory.setPodCode(putBox.getPodCode());
-										archivesTrajectory.setPodCname(putBox.getPodCname());
-										archivesTrajectory.setPodEname(putBox.getPodEname());
-									}
+									archivesTrajectory.setStationId(item.getPodStationId());
+									archivesTrajectory.setStationCode(item.getPodStationCode());
+									archivesTrajectory.setStationCname(item.getPodStationCname());
+									archivesTrajectory.setStationEname(item.getPodStationEname());
+									archivesTrajectory.setPodStationId(item.getPodStationId());
+									archivesTrajectory.setPodStationCode(item.getPodStationCode());
+									archivesTrajectory.setPodStationCname(item.getPodStationCname());
+									archivesTrajectory.setPodStationEname(item.getPodStationEname());
+									archivesTrajectory.setPodFreeBoxUseDays(item.getPodFreeBoxUseDays());
 									archivesTrajectory.setStatus(archivesTrajectory.getBoxDynamics());
 									archivesTrajectory.setBillType(putBox.getBoxClass());
 									archivesTrajectory.setCode(item.getBoxCode());
@@ -2614,11 +2619,6 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 									archivesTrajectory.setPolOverdueBoxUseDays(item.getPolOverdueBoxUseDays());
 									archivesTrajectory.setEta(item.getEta());
 									archivesTrajectory.setPodEmptyContainerReturnDate(item.getPodEmptyContainerReturnDate());
-									archivesTrajectory.setPodStationId(item.getPodStationId());
-									archivesTrajectory.setPodStationCode(item.getPodStationCode());
-									archivesTrajectory.setPodStationCname(item.getPodStationCname());
-									archivesTrajectory.setPodStationEname(item.getPodStationEname());
-									archivesTrajectory.setPodFreeBoxUseDays(item.getPodFreeBoxUseDays());
 									archivesTrajectory.setPodBoxUseDays(item.getPodBoxUseDays());
 									archivesTrajectory.setShipNameId(item.getShipNameId());
 									archivesTrajectory.setShipCname(item.getShipCname());
@@ -3115,7 +3115,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 								failureHandling(type, boxDynamicsRecord, "放箱号:" + recordItems.getContainerNumber() + "类型为OW(放),数据错误请校验");
 								return false;
 							}
-							if(!putBox.getPolId().equals(recordItems.getPortId())){
+							if (!putBox.getPolId().equals(recordItems.getPortId())) {
 								failureHandling(type, boxDynamicsRecord, "箱号:" + recordItems.getBoxCode() + "无货返空港口与出场港口不一致,数据错误");
 								return false;
 							}

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/ArchivesServiceImpl.java

@@ -451,6 +451,7 @@ public class ArchivesServiceImpl extends ServiceImpl<ArchivesMapper, Archives> i
 			.eq(Archives::getIsDeleted, 0)
 			.eq(ObjectUtils.isNotNull(archives.getContainerNumberType()), Archives::getContainerNumberType, archives.getContainerNumberType())
 			.eq(ObjectUtils.isNotNull(archives.getAddressId()), Archives::getAddressId, archives.getAddressId())
+			.eq(ObjectUtils.isNotNull(archives.getBillNo()), Archives::getBillNo, archives.getBillNo())
 			.eq(ObjectUtils.isNotNull(archives.getStationId()), Archives::getStationId, archives.getStationId())
 			.apply(ObjectUtils.isNotNull(archives.getCode()), "find_in_set(code,'" + archives.getCode() + "')")
 			.apply("DATEDIFF( NOW(), new_date ) > " + archives.getLongTermDays())
@@ -493,6 +494,7 @@ public class ArchivesServiceImpl extends ServiceImpl<ArchivesMapper, Archives> i
 			.eq(Archives::getIsDeleted, 0)
 			.eq(ObjectUtils.isNotNull(archives.getContainerNumberType()), Archives::getContainerNumberType, archives.getContainerNumberType())
 			.eq(ObjectUtils.isNotNull(archives.getAddressId()), Archives::getAddressId, archives.getAddressId())
+			.eq(ObjectUtils.isNotNull(archives.getBillNo()), Archives::getBillNo, archives.getBillNo())
 			.eq(ObjectUtils.isNotNull(archives.getStationId()), Archives::getStationId, archives.getStationId())
 			.apply(ObjectUtils.isNotNull(archives.getCode()), "find_in_set(code,'" + archives.getCode() + "')")
 			.apply("DATEDIFF( NOW(), new_date ) > " + archives.getLongTermDays()));

+ 5 - 5
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java

@@ -4099,7 +4099,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			throw new RuntimeException("放箱号剩余未提箱数量小于本次更改数量");
 		}
 		tradingBoxNew.setSuitcaseNum(tradingBoxNew.getSuitcaseNum()+tradingBox.getTradingBoxItemsList().size());
-		tradingBoxNew.setNotSuitcaseNum(tradingBox1.getBoxNumber()-tradingBox1.getSuitcaseNum());
+		tradingBoxNew.setNotSuitcaseNum(tradingBoxNew.getBoxNumber()-tradingBoxNew.getSuitcaseNum());
 		tradingBoxNew.setUpdateTime(new Date());
 		tradingBoxNew.setUpdateUser(AuthUtil.getUserId());
 		tradingBoxNew.setUpdateUserName(AuthUtil.getUserName());
@@ -4107,10 +4107,10 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		tradingBoxNew.setVersion(String.valueOf(version1 + 1));
 		baseMapper.updateById(tradingBoxNew);
 		//新放箱号单据
-		putBoxNew.setCode((ObjectUtils.isNull(tradingBoxNew.getCode()) ? "" : tradingBoxNew.getCode() + ",") + String.join(",", codeList));
-		putBoxNew.setTotalNum(putBox.getTotalNum() + tradingBox.getTradingBoxItemsList().size());
-		putBoxNew.setRemainingNum(putBox.getRemainingNum() + tradingBox.getTradingBoxItemsList().size());
-		putBoxNew.setStorageNum(putBox.getStorageNum() + tradingBox.getTradingBoxItemsList().size());
+		putBoxNew.setCode((ObjectUtils.isNull(putBoxNew.getCode()) ? "" : putBoxNew.getCode() + ",") + String.join(",", codeList));
+		putBoxNew.setTotalNum(putBoxNew.getTotalNum() + tradingBox.getTradingBoxItemsList().size());
+		putBoxNew.setRemainingNum(putBoxNew.getRemainingNum() + tradingBox.getTradingBoxItemsList().size());
+		putBoxNew.setStorageNum(putBoxNew.getStorageNum() + tradingBox.getTradingBoxItemsList().size());
 		putBoxNew.setUpdateTime(new Date());
 		putBoxNew.setUpdateUser(AuthUtil.getUserId());
 		putBoxNew.setUpdateUserName(AuthUtil.getUserName());

+ 44 - 40
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -744,12 +744,12 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 						boolean status = false;
 						if ("SE".equals(bills.getBusinessType())) {
 							if (ObjectUtils.isNotNull(bills1.getActualEtd()) && ObjectUtils.isNotNull(bills.getActualEtd()) &&
-								!bills1.getEtd().equals(bills.getActualEtd())) {
+								!bills1.getActualEtd().equals(bills.getActualEtd())) {
 								status = true;
 							}
 						} else if ("SI".equals(bills.getBusinessType())) {
 							if (ObjectUtils.isNotNull(bills1.getActualEta()) && ObjectUtils.isNotNull(bills.getActualEta()) &&
-								!bills1.getEta().equals(bills.getActualEta())) {
+								!bills1.getActualEta().equals(bills.getActualEta())) {
 								status = true;
 							}
 						}
@@ -817,12 +817,12 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					boolean status = false;
 					if ("SE".equals(bills.getBusinessType())) {
 						if (ObjectUtils.isNotNull(details.getActualEtd()) && ObjectUtils.isNotNull(bills.getActualEtd()) &&
-							!details.getEtd().equals(bills.getActualEtd())) {
+							!details.getActualEtd().equals(bills.getActualEtd())) {
 							status = true;
 						}
 					} else if ("SI".equals(bills.getBusinessType())) {
 						if (ObjectUtils.isNotNull(details.getActualEta()) && ObjectUtils.isNotNull(bills.getActualEta()) &&
-							!details.getEtd().equals(bills.getActualEta())) {
+							!details.getActualEta().equals(bills.getActualEta())) {
 							status = true;
 						}
 					}
@@ -1101,12 +1101,12 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 							boolean status = false;
 							if ("SE".equals(bills.getBusinessType())) {
 								if (ObjectUtils.isNotNull(details.getActualEtd()) && ObjectUtils.isNotNull(bills.getActualEtd()) &&
-									!details.getEtd().equals(bills.getActualEtd())) {
+									!details.getActualEtd().equals(bills.getActualEtd())) {
 									status = true;
 								}
 							} else if ("SI".equals(bills.getBusinessType())) {
 								if (ObjectUtils.isNotNull(details.getActualEta()) && ObjectUtils.isNotNull(bills.getActualEta()) &&
-									!details.getEtd().equals(bills.getActualEta())) {
+									!details.getActualEta().equals(bills.getActualEta())) {
 									status = true;
 								}
 							}
@@ -4068,23 +4068,25 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					if (ObjectUtils.isNull(item.getHblno())) {
 						texts = texts + "分单号、";
 					}
-					if (ObjectUtils.isNull(item.getVesselId())) {
-						texts = texts + "船名、";
-					}
-					if (ObjectUtils.isNull(item.getVoyageNo())) {
-						texts = texts + "航次、";
-					}
-					if (ObjectUtils.isNull(item.getPodId())) {
-						texts = texts + "卸货港、";
-					}
-					if (ObjectUtils.isNull(item.getCarrierId())) {
-						texts = texts + "船公司、";
-					}
-					if (ObjectUtils.isNull(item.getCyId())) {
-						texts = texts + "POL场站、";
-					}
-					if (ObjectUtils.isNull(item.getPodCyId())) {
-						texts = texts + "POD场站、";
+					if (!"SI".equals(item.getBusinessType())){
+						if (ObjectUtils.isNull(item.getVesselId())) {
+							texts = texts + "船名、";
+						}
+						if (ObjectUtils.isNull(item.getVoyageNo())) {
+							texts = texts + "航次、";
+						}
+						if (ObjectUtils.isNull(item.getPodId())) {
+							texts = texts + "卸货港、";
+						}
+						if (ObjectUtils.isNull(item.getCarrierId())) {
+							texts = texts + "船公司、";
+						}
+						if (ObjectUtils.isNull(item.getCyId())) {
+							texts = texts + "POL场站、";
+						}
+						if (ObjectUtils.isNull(item.getPodCyId())) {
+							texts = texts + "POD场站、";
+						}
 					}
 					if (ObjectUtils.isNotNull(texts)) {
 						throw new RuntimeException("分单:" + item.getBillNo() + "," + texts + "不能为空");
@@ -4149,23 +4151,25 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			if (ObjectUtils.isNull(declare.getMblno())) {
 				texts = texts + "提单号、";
 			}
-			if (ObjectUtils.isNull(declare.getVesselId())) {
-				texts = texts + "船名、";
-			}
-			if (ObjectUtils.isNull(declare.getVoyageNo())) {
-				texts = texts + "航次、";
-			}
-			if (ObjectUtils.isNull(declare.getPodId())) {
-				texts = texts + "卸货港、";
-			}
-			if (ObjectUtils.isNull(declare.getCarrierId())) {
-				texts = texts + "船公司、";
-			}
-			if (ObjectUtils.isNull(declare.getCyId())) {
-				texts = texts + "POL场站、";
-			}
-			if (ObjectUtils.isNull(declare.getPodCyId())) {
-				texts = texts + "POD场站、";
+			if (!"SI".equals(declare.getBusinessType())){
+				if (ObjectUtils.isNull(declare.getVesselId())) {
+					texts = texts + "船名、";
+				}
+				if (ObjectUtils.isNull(declare.getVoyageNo())) {
+					texts = texts + "航次、";
+				}
+				if (ObjectUtils.isNull(declare.getPodId())) {
+					texts = texts + "卸货港、";
+				}
+				if (ObjectUtils.isNull(declare.getCarrierId())) {
+					texts = texts + "船公司、";
+				}
+				if (ObjectUtils.isNull(declare.getCyId())) {
+					texts = texts + "POL场站、";
+				}
+				if (ObjectUtils.isNull(declare.getPodCyId())) {
+					texts = texts + "POD场站、";
+				}
 			}
 			if (ObjectUtils.isNotNull(texts)) {
 				throw new RuntimeException("单号:" + declare.getBillNo() + "," + texts + "不能为空");

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/ContainersServiceImpl.java

@@ -234,6 +234,9 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 			if (item.getId() == null) {
 				throw new RuntimeException("请先保存");
 			}
+			if (ObjectUtils.isNotNull(item.getContainerNumber())){
+				throw new RuntimeException("放箱号已存在,清除失败");
+			}
 			item.setCntrNo("");
 			item.setSealNo("");
 			item.setUpdateTime(new Date());