Przeglądaj źródła

1.期间管理锁定列表增加创建人
2.提单号,分单号检索条件拼接删除bug修改
3.OW拿,放箱号列表排序修改
4.租箱,代理箱启用逻辑改为OW拿一样逻辑
5.场站api同步接口租箱,代理箱逻辑改为OW拿一样逻辑

纪新园 1 tydzień temu
rodzic
commit
7f3fed3fb8

+ 1 - 1
blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/PutBox.java

@@ -469,7 +469,7 @@ public class PutBox implements Serializable {
 	@TableField(exist = false)
 	private Boolean status;
 	/**
-	 * 是否显示0
+	 * 检索状态  0=全部 1=可用 2=不可用3=失效
 	 */
 	@TableField(exist = false)
 	private String whetherDisplay;

+ 1 - 1
blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/TradingBox.java

@@ -888,7 +888,7 @@ public class TradingBox implements Serializable {
 	@TableField(exist = false)
 	private String capitalLettersUsd;
 	/**
-	 * 是否显示0
+	 * 检索状态  0=全部 1=已提箱 2=未提箱3=失效
 	 */
 	@TableField(exist = false)
 	private String whetherDisplay;

+ 17 - 5
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsBoxServiceImpl.java

@@ -655,7 +655,7 @@ public class ReportsBoxServiceImpl implements IReportsBoxService {
 				List<String> hblnoList = feeSummaryDetailList.stream().filter(e -> ObjectUtils.isNotNull(e.getMblNo()) &&
 						ObjectUtils.isNotNull(e.getHblNo()) && "SE,SI,SEA,SIA".contains(e.getBusinessType())).map(FeeSummaryDetailRD::getHblNo)
 					.distinct().collect(Collectors.toList());
-				if (!mblnoList.isEmpty()) {
+				if (!hblnoList.isEmpty()) {
 					List<Bills> hblnoBillsList = billsService.list(new LambdaQueryWrapper<Bills>()
 						.eq(Bills::getIsDeleted, 0)
 						.eq(Bills::getTenantId, AuthUtil.getTenantId())
@@ -700,7 +700,11 @@ public class ReportsBoxServiceImpl implements IReportsBoxService {
 								report.setEtd(formatter.format(bills.getActualEta()));
 							}
 						}
-						report.setHblNo(bills.getHblno());
+						if (ObjectUtils.isNotNull(bills.getHblno())){
+							report.setHblNo(bills.getHblno());
+						}else{
+							report.setHblNo(bills.getMblno());
+						}
 						report.setPol(bills.getPolCnName());
 						report.setPod(bills.getPodCnName());
 						report.setExrate(exrate);
@@ -760,7 +764,7 @@ public class ReportsBoxServiceImpl implements IReportsBoxService {
 				List<String> hblnoList = feeSummaryDetailExportNotList.stream().filter(e -> ObjectUtils.isNotNull(e.getMblNo()) &&
 						ObjectUtils.isNotNull(e.getHblNo()) && "SE,SI,SEA,SIA".contains(e.getBusinessType())).map(FeeSummaryDetailNotRD::getHblNo)
 					.distinct().collect(Collectors.toList());
-				if (!mblnoList.isEmpty()) {
+				if (!hblnoList.isEmpty()) {
 					List<Bills> hblnoBillsList = billsService.list(new LambdaQueryWrapper<Bills>()
 						.eq(Bills::getIsDeleted, 0)
 						.eq(Bills::getTenantId, AuthUtil.getTenantId())
@@ -805,7 +809,11 @@ public class ReportsBoxServiceImpl implements IReportsBoxService {
 								report.setEtd(formatter.format(bills.getActualEta()));
 							}
 						}
-						report.setHblNo(bills.getHblno());
+						if (ObjectUtils.isNotNull(bills.getHblno())){
+							report.setHblNo(bills.getHblno());
+						}else{
+							report.setHblNo(bills.getMblno());
+						}
 						report.setPol(bills.getPolCnName());
 						report.setPod(bills.getPodCnName());
 						report.setExrate(exrate);
@@ -1013,7 +1021,11 @@ public class ReportsBoxServiceImpl implements IReportsBoxService {
 					exrate = currencyUtils.obtainExrate(reportDataStatisticsVO.getDc(), curExrateList, "USD", "1");
 					report.setEtd(formatter.format(formatter.parse(item.getStatisticsDate())));*/
 				}
-				report.setHblNo(item.getHblNo());
+				if (ObjectUtils.isNotNull(item.getHblNo())){
+					report.setHblNo(item.getHblNo());
+				}else{
+					report.setHblNo(item.getMblNo());
+				}
 				report.setPol(item.getPol());
 				report.setPod(item.getPod());
 				report.setExrate(exrate);

+ 11 - 5
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/PutBoxController.java

@@ -41,6 +41,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.validation.Valid;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -87,7 +88,9 @@ public class PutBoxController extends BladeController {
 			.like(ObjectUtils.isNotNull(putBox.getBoxEastName()), PutBox::getBoxEastName, putBox.getBoxEastName())
 			.eq(ObjectUtils.isNotNull(putBox.getBoxBelongsTo()), PutBox::getBoxBelongsTo, putBox.getBoxBelongsTo())
 			.eq(ObjectUtils.isNotNull(putBox.getPodId()), PutBox::getPodId, putBox.getPodId())
-			.like(ObjectUtils.isNotNull(putBox.getPodCname()), PutBox::getPodCname, putBox.getPodCname())
+//			.like(ObjectUtils.isNotNull(putBox.getPodCname()), PutBox::getPodCname, putBox.getPodCname())
+			.and(ObjectUtils.isNotNull(putBox.getPodCname()), i -> i.like(PutBox::getPodCname, putBox.getPodCname()).or()
+				.like(PutBox::getPodEname, putBox.getPodCname()).or().like(PutBox::getPodCode, putBox.getPodCname()))
 			.eq(ObjectUtils.isNotNull(putBox.getPolId()), PutBox::getPolId, putBox.getPolId())
 			.like(ObjectUtils.isNotNull(putBox.getPolCname()), PutBox::getPolCname, putBox.getPolCname())
 			.eq(ObjectUtils.isNotNull(putBox.getPodStationId()), PutBox::getPodStationId, putBox.getPodStationId())
@@ -99,15 +102,18 @@ public class PutBoxController extends BladeController {
 			.like(ObjectUtils.isNotNull(putBox.getSrcNo()), PutBox::getSrcNo, putBox.getSrcNo())
 			.like(ObjectUtils.isNotNull(putBox.getCode()), PutBox::getCode, putBox.getCode())
 			.eq(ObjectUtils.isNotNull(putBox.getPriorityLevel()), PutBox::getPriorityLevel, putBox.getPriorityLevel());
-		lambdaQueryWrapper.orderByDesc(PutBox::getEffectiveEndDate);
-		lambdaQueryWrapper.orderByAsc(PutBox::getCreateTime);
+		lambdaQueryWrapper.orderByDesc(PutBox::getCreateTime);
 		lambdaQueryWrapper.orderByAsc(PutBox::getPolCname);
 		lambdaQueryWrapper.orderByAsc(PutBox::getPodCname);
 		lambdaQueryWrapper.orderByAsc(PutBox::getPriorityLevel);
 		if ("1".equals(putBox.getWhetherDisplay())){
-			lambdaQueryWrapper.eq(PutBox::getRemainingNum,0);
-		}else{
 			lambdaQueryWrapper.ne(PutBox::getRemainingNum,0);
+			lambdaQueryWrapper.ge(PutBox::getEffectiveEndDate, new Date());
+		}else if ("2".equals(putBox.getWhetherDisplay())){
+			lambdaQueryWrapper.eq(PutBox::getRemainingNum,0);
+			lambdaQueryWrapper.ge(PutBox::getEffectiveEndDate, new Date());
+		}else if ("3".equals(putBox.getWhetherDisplay())){
+			lambdaQueryWrapper.lt(PutBox::getEffectiveEndDate, new Date());
 		}
 		if (ObjectUtils.isNotNull(putBox.getEffectiveStartDate()) && ObjectUtils.isNotNull(putBox.getEffectiveEndDate())) {
 			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

+ 12 - 6
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxController.java

@@ -40,6 +40,7 @@ import org.springblade.los.box.entity.TradingBox;
 import org.springblade.los.box.entity.TradingBoxItem;
 import org.springblade.los.box.service.ITradingBoxItemService;
 import org.springblade.los.box.service.ITradingBoxService;
+import org.springblade.los.business.sea.entity.Bills;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
@@ -98,7 +99,9 @@ public class TradingBoxController extends BladeController {
 			.like(ObjectUtils.isNotNull(tradingBox.getContainerNumber()), TradingBox::getContainerNumber, tradingBox.getContainerNumber())
 			.eq(ObjectUtils.isNotNull(tradingBox.getType()), TradingBox::getType, tradingBox.getType())
 			.like(ObjectUtils.isNotNull(tradingBox.getPodId()), TradingBox::getPodId, tradingBox.getPodId())
-			.like(ObjectUtils.isNotNull(tradingBox.getPodCname()), TradingBox::getPodCname, tradingBox.getPodCname())
+//			.like(ObjectUtils.isNotNull(tradingBox.getPodCname()), TradingBox::getPodCname, tradingBox.getPodCname())
+			.and(ObjectUtils.isNotNull(tradingBox.getPodCname()), i -> i.like(TradingBox::getPodCname, tradingBox.getPodCname()).or()
+				.like(TradingBox::getPodEname, tradingBox.getPodCname()).or().like(TradingBox::getPodCode, tradingBox.getPodCname()))
 			.like(ObjectUtils.isNotNull(tradingBox.getPolId()), TradingBox::getPolId, tradingBox.getPolId())
 			.like(ObjectUtils.isNotNull(tradingBox.getPolCname()), TradingBox::getPolCname, tradingBox.getPolCname())
 			.eq(ObjectUtils.isNotNull(tradingBox.getPodStationCname()), TradingBox::getPodStationCname, tradingBox.getPodStationCname())
@@ -122,12 +125,15 @@ public class TradingBoxController extends BladeController {
 			lambdaQueryWrapper.le(TradingBox::getPurchaseDate, tradingBox.getPurchaseDateList().get(1));
 		}
 		if ("1".equals(tradingBox.getWhetherDisplay())){
-			lambdaQueryWrapper.eq(TradingBox::getNotSuitcaseNum,0);
-		}else{
-			lambdaQueryWrapper.ne(TradingBox::getNotSuitcaseNum,0);
+			lambdaQueryWrapper.ne(TradingBox::getSuitcaseNum,0);
+			lambdaQueryWrapper.ge(TradingBox::getExpiryDate, new Date());
+		}else if ("2".equals(tradingBox.getWhetherDisplay())){
+			lambdaQueryWrapper.eq(TradingBox::getSuitcaseNum,0);
+			lambdaQueryWrapper.ge(TradingBox::getExpiryDate, new Date());
+		}else if ("3".equals(tradingBox.getWhetherDisplay())){
+			lambdaQueryWrapper.lt(TradingBox::getExpiryDate, new Date());
 		}
-		lambdaQueryWrapper.orderByDesc(TradingBox::getExpiryDate);
-		lambdaQueryWrapper.orderByAsc(TradingBox::getCreateTime);
+		lambdaQueryWrapper.orderByDesc(TradingBox::getCreateTime);
 		lambdaQueryWrapper.orderByAsc(TradingBox::getPolCname);
 		lambdaQueryWrapper.orderByAsc(TradingBox::getPodCname);
 		lambdaQueryWrapper.orderByAsc(TradingBox::getPriorityLevel);

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

@@ -925,7 +925,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						PutBox putBox1 = putBoxList.stream().filter(e -> e.getContainerNumber().equals(archives.getContainerNumberOw()))
 							.findFirst().orElse(null);
 						if (putBox1 != null) {
-							if ("OW(放),自有箱,代理箱".contains(putBox1.getBoxClass())) {
+							if ("OW(放),自有箱".contains(putBox1.getBoxClass())) {
 								//放箱号明细数据处理
 								PutBoxItems putBoxItem;
 								if (!putBoxItemsList.isEmpty()) {
@@ -1104,7 +1104,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 //									putBox.setStorageNum(putBox.getStorageNum() + 1 - putBox.getOccupyNum());
 									putBoxNewList.add(putBox);
 								}
-							} else if ("OW(拿)".equals(putBox1.getBoxClass())) {
+							} else if ("OW(拿),代理箱,租箱".contains(putBox1.getBoxClass())) {
 								//放箱号明细数据处理
 								PutBoxItems putBoxItem;
 								if (!putBoxItemsList.isEmpty()) {
@@ -1168,7 +1168,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 										throw new RuntimeException("未查到原OW单据-放箱号为:" + archives.getContainerNumber());
 									}
 								} else {
-									throw new RuntimeException("未查到原OW单据-放箱号为:" + archives.getContainerNumberOw());
+									throw new RuntimeException("未查到来源单据-放箱号为:" + archives.getContainerNumberOw());
 								}
 								archivesDateleList.add(archives.getId());
 							} else {
@@ -1212,7 +1212,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						PutBox putBox1 = putBoxList.stream().filter(e -> e.getContainerNumber().equals(archives.getContainerNumberOw()))
 							.findFirst().orElse(null);
 						if (putBox1 != null) {
-							if ("OW(放),自有箱,代理箱".contains(putBox1.getBoxClass())) {
+							if ("OW(放),自有箱".contains(putBox1.getBoxClass())) {
 								//POD放箱号数据明细处理
 								PutBox putBox = putBoxNewList.stream().filter(e -> e.getContainerNumber().equals(archives.getContainerNumber())
 										&& e.getPolId().equals(archives.getAddressId()) && e.getPolStationId().equals(archives.getStationId()))
@@ -1508,7 +1508,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							TradingBox tradingBox = tradingBoxList.stream().filter(e -> e.getId().equals(putBox.getSrcId()))
 								.findFirst().orElse(null);
 							if (tradingBox != null) {
-								if (tradingBox.getPolId().equals(tradingBox.getPodId())){
+								if (tradingBox.getPolId().equals(tradingBox.getPodId())) {
 									samePort = false;
 								}
 								if (!tradingBoxes.isEmpty()) {
@@ -1554,6 +1554,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 											tradingBoxItem.setBoxCategory("OW(拿)");
 										} else if ("OW-F".equals(tradingBox.getType())) {
 											tradingBoxItem.setBoxCategory("OW(放)");
+										} else if ("DL".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("代理箱");
+										} else if ("ZR".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("租箱");
 										}
 										tradingBoxItem.setBoxSource(putBox.getBusType());
 										tradingBoxItem.setBoxCondition("新");
@@ -1593,6 +1597,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 										tradingBoxItem.setBoxCategory("OW(拿)");
 									} else if ("OW-F".equals(tradingBox.getType())) {
 										tradingBoxItem.setBoxCategory("OW(放)");
+									}else if ("DL".equals(tradingBox.getType())) {
+										tradingBoxItem.setBoxCategory("代理箱");
+									} else if ("ZR".equals(tradingBox.getType())) {
+										tradingBoxItem.setBoxCategory("租箱");
 									}
 									tradingBoxItem.setBoxSource(putBox.getBusType());
 									tradingBoxItem.setBoxBelongsTo("SOC");
@@ -1651,7 +1659,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							archives.setStatus("待使用");
 							archives.setNewDate(item.getApproachExitDate());
 							archives.setBoxDynamics("调箱进场");
-							if (samePort){
+							if (samePort) {
 								archives.setWhetherTransfer("1");
 							}
 							archives.setAddressId(item.getPortId());
@@ -1663,7 +1671,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							archives.setStationCname(item.getStationCname());
 							archives.setStationEname(item.getStationEname());
 						} else {
-							if (!"OW(拿)".equals(putBox.getBusType())) {
+							if (!"OW(拿),代理箱,租箱".contains(putBox.getBusType())) {
 								throw new RuntimeException("箱档案中未查到箱号:" + item.getBoxCode());
 							}
 							archives = new Archives();
@@ -1675,7 +1683,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							archives.setBoxStatus(item.getBoxStatus());
 							archives.setNewDate(item.getApproachExitDate());
 							archives.setBoxDynamics("调箱进场");
-							if (samePort){
+							if (samePort) {
 								archives.setWhetherTransfer("1");
 							}
 							archives.setBoxBelongsTo("SOC");
@@ -1726,7 +1734,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							item.setRemainingNum(item.getRemainingNum() + Integer.parseInt(count + ""));
 							item.setStorageNum(item.getStorageNum() + Integer.parseInt(count + ""));
 						}
-						if ("OW(拿)".equals(item.getBusType())) {
+						if ("OW(拿),代理箱,租箱".contains(item.getBusType())) {
 							item.setSuitcaseNum(item.getSuitcaseNum() + Integer.parseInt(count + ""));
 							item.setNotSuitcaseNum(item.getTotalNum() - item.getSuitcaseNum());
 							item.setStorageNum(item.getStorageNum() + Integer.parseInt(count + ""));
@@ -1940,7 +1948,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							archives.setStationCname(item.getStationCname());
 							archives.setStationEname(item.getStationEname());
 						} else {
-							if (!"OW(拿)".equals(putBoxData.getBusType())) {
+							if (!"OW(拿),代理箱,租箱".contains(putBoxData.getBusType())) {
 								throw new RuntimeException("箱档案中未查到箱号:" + item.getBoxCode());
 							}
 							archives = new Archives();
@@ -2027,7 +2035,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							putBoxItem.setBoxEastName(putBoxData.getBoxEastName());
 						}
 						putBoxItems.add(putBoxItem);
-						if ("OW(拿),OW(放)".contains(putBoxData.getBusType())) {
+						if ("OW(拿),OW(放),代理箱,租箱".contains(putBoxData.getBusType())) {
 							if (!tradingBoxList.isEmpty()) {
 								TradingBox tradingBox = tradingBoxList.stream().filter(e -> e.getId().equals(putBoxData.getSrcId()))
 									.findFirst().orElse(null);
@@ -2072,6 +2080,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 												tradingBoxItem.setBoxCategory("OW(拿)");
 											} else if ("OW-F".equals(tradingBox.getType())) {
 												tradingBoxItem.setBoxCategory("OW(放)");
+											}else if ("DL".equals(tradingBox.getType())) {
+												tradingBoxItem.setBoxCategory("代理箱");
+											} else if ("ZR".equals(tradingBox.getType())) {
+												tradingBoxItem.setBoxCategory("租箱");
 											}
 											tradingBoxItem.setBoxCondition("新");
 											tradingBoxItem.setBoxStatus(item.getBoxStatus());
@@ -2106,6 +2118,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 											tradingBoxItem.setBoxCategory("OW(拿)");
 										} else if ("OW-F".equals(tradingBox.getType())) {
 											tradingBoxItem.setBoxCategory("OW(放)");
+										}else if ("DL".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("代理箱");
+										} else if ("ZR".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("租箱");
 										}
 										tradingBoxItem.setBoxBelongsTo("SOC");
 										tradingBoxItem.setBoxCondition("新");
@@ -2166,7 +2182,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 								.map(BoxDynamicsRecordItems::getBoxCode).collect(Collectors.joining(",")));
 						}
 						long count = itemsListZD.stream().filter(e -> e.getContainerNumber().equals(item.getContainerNumber())).count();
-						if ("OW(拿)".equals(item.getBusType())) {
+						if ("OW(拿),代理箱,租箱".contains(item.getBusType())) {
 							item.setStorageNum(item.getStorageNum() - Integer.parseInt(count + ""));
 							if (item.getStorageNum() < 0) {
 								throw new RuntimeException("放箱号:" + item.getContainerNumber() + "剩余场地盘存小于本次导入箱数");
@@ -2417,7 +2433,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							archives.setStationCname(item.getStationCname());
 							archives.setStationEname(item.getStationEname());
 						} else {
-							if (!"OW(拿)".equals(putBoxData.getBusType())) {
+							if (!"OW(拿),代理箱,租箱".contains(putBoxData.getBusType())) {
 								throw new RuntimeException("箱档案中未查到箱号:" + item.getBoxCode());
 							}
 							archives = new Archives();
@@ -2551,7 +2567,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						}
 						putBoxItem.setWhetherStatus(status);
 						putBoxItems.add(putBoxItem);
-						if ("OW(拿),OW(放)".contains(putBoxData.getBusType())) {
+						if ("OW(拿),OW(放),代理箱,租箱".contains(putBoxData.getBusType())) {
 							if (!tradingBoxList.isEmpty()) {
 								TradingBox tradingBox = tradingBoxList.stream().filter(e -> e.getId().equals(putBoxData.getSrcId()))
 									.findFirst().orElse(null);
@@ -2607,6 +2623,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 												tradingBoxItem.setBoxCategory("OW(拿)");
 											} else if ("OW-F".equals(tradingBox.getType())) {
 												tradingBoxItem.setBoxCategory("OW(放)");
+											} else if ("DL".equals(tradingBox.getType())) {
+												tradingBoxItem.setBoxCategory("代理箱");
+											} else if ("ZR".equals(tradingBox.getType())) {
+												tradingBoxItem.setBoxCategory("租箱");
 											}
 											putBoxItem.setBoxClass(putBox.getBusType());
 											tradingBoxItem.setBoxCondition("新");
@@ -2653,6 +2673,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 											tradingBoxItem.setBoxCategory("OW(拿)");
 										} else if ("OW-F".equals(tradingBox.getType())) {
 											tradingBoxItem.setBoxCategory("OW(放)");
+										}else if ("DL".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("代理箱");
+										} else if ("ZR".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("租箱");
 										}
 										tradingBoxItem.setBoxBelongsTo("SOC");
 										tradingBoxItem.setBoxCondition("新");
@@ -2743,7 +2767,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						}
 						if (item.getStatus()) {
 							long count = itemsListCC.stream().filter(e -> e.getContainerNumber().equals(item.getContainerNumber())).count();
-							if ("OW(拿)".equals(item.getBusType())) {
+							if ("OW(拿),代理箱,租箱".contains(item.getBusType())) {
 								item.setStorageNum(item.getStorageNum() - Integer.parseInt(count + ""));
 								if (item.getStorageNum() < 0) {
 									throw new RuntimeException("放箱号:" + item.getContainerNumber() + "剩余场地盘存小于本次导入箱数");
@@ -3236,7 +3260,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						archives.setStationCname(item.getStationCname());
 						archives.setStationEname(item.getStationEname());
 					} else {
-						if (!"OW(拿)".equals(putBox.getBusType())) {
+						if (!"OW(拿),代理箱,租箱".contains(putBox.getBusType())) {
 							throw new RuntimeException("箱档案中未查到箱号:" + item.getBoxCode());
 						}
 						archives = new Archives();
@@ -3336,7 +3360,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						putBoxItem.setBoxEastName(putBox.getBoxEastName());
 					}
 					putBoxItems.add(putBoxItem);
-					if ("OW(拿),OW(放)".contains(putBox.getBusType())) {
+					if ("OW(拿),OW(放),代理箱,租箱".contains(putBox.getBusType())) {
 						if (!tradingBoxList.isEmpty()) {
 							TradingBox tradingBox = tradingBoxList.stream().filter(e -> e.getId().equals(putBox.getSrcId()))
 								.findFirst().orElse(null);
@@ -3386,6 +3410,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 											tradingBoxItem.setBoxCategory("OW(拿)");
 										} else if ("OW-F".equals(tradingBox.getType())) {
 											tradingBoxItem.setBoxCategory("OW(放)");
+										} else if ("DL".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("代理箱");
+										} else if ("ZR".equals(tradingBox.getType())) {
+											tradingBoxItem.setBoxCategory("租箱");
 										}
 										putBoxItem.setBoxClass(putBox.getBusType());
 										tradingBoxItem.setBoxCondition("新");
@@ -3427,6 +3455,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 										tradingBoxItem.setBoxCategory("OW(拿)");
 									} else if ("OW-F".equals(tradingBox.getType())) {
 										tradingBoxItem.setBoxCategory("OW(放)");
+									} else if ("DL".equals(tradingBox.getType())) {
+										tradingBoxItem.setBoxCategory("代理箱");
+									} else if ("ZR".equals(tradingBox.getType())) {
+										tradingBoxItem.setBoxCategory("租箱");
 									}
 									tradingBoxItem.setBoxBelongsTo("SOC");
 									tradingBoxItem.setBoxCondition("新");
@@ -3466,10 +3498,10 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 								tradingBoxItem.setBoxEastName(tradingBox.getPurchaseCompanyName());
 								tradingBoxItems.add(tradingBoxItem);
 							} else {
-								throw new RuntimeException("放箱号:" + item.getContainerNumber() + "未查到OW单据");
+								throw new RuntimeException("放箱号:" + item.getContainerNumber() + "未查到来源单据");
 							}
 						} else {
-							throw new RuntimeException("放箱号:" + item.getContainerNumber() + "未查到OW单据");
+							throw new RuntimeException("放箱号:" + item.getContainerNumber() + "未查到来源单据");
 						}
 					}
 				} else {
@@ -3503,7 +3535,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						item.setRemainingNum(item.getRemainingNum() + Integer.parseInt(count + ""));
 						item.setStorageNum(item.getStorageNum() + Integer.parseInt(count + ""));
 					}
-					if ("OW(拿)".equals(item.getBusType())) {
+					if ("OW(拿),代理箱,租箱".contains(item.getBusType())) {
 						item.setSuitcaseNum(item.getSuitcaseNum() + Integer.parseInt(count + ""));
 						item.setNotSuitcaseNum(item.getTotalNum() - item.getSuitcaseNum());
 						item.setStorageNum(item.getStorageNum() + Integer.parseInt(count + ""));
@@ -3531,7 +3563,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 								tradingBox.setCode(itemsListJC.stream().filter(e -> e.getContainerNumber().equals(item.getContainerNumber()))
 									.map(BoxDynamicsRecordItems::getBoxCode).collect(Collectors.joining(",")));
 							}
-							if ("OW(拿)".contains(item.getBusType())) {
+							if ("OW(拿),代理箱,租箱".contains(item.getBusType())) {
 								tradingBox.setSuitcaseNum(tradingBox.getSuitcaseNum() + Integer.parseInt(count1 + ""));
 								tradingBox.setNotSuitcaseNum(tradingBox.getBoxNumber() - tradingBox.getSuitcaseNum());
 							}
@@ -3731,7 +3763,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 							item.setPolOverdueBoxUseDays(Integer.parseInt(days + ""));
 						}
 						putBoxItemsList.add(item);
-						if ("OW(拿),OW(放)".contains(putBox.getBusType())) {
+						if ("OW(拿),OW(放),代理箱,租箱".contains(putBox.getBusType())) {
 							TradingBoxItem tradingBoxItem = tradingBoxItemOldList.stream().filter(e -> e.getCode().equals(item.getBoxCode())).findFirst().orElse(null);
 							if (tradingBoxItem == null) {
 								throw new RuntimeException("未查到OW单据明细箱号");
@@ -3991,7 +4023,7 @@ public class BoxDynamicsRecordServiceImpl extends ServiceImpl<BoxDynamicsRecordM
 						item.setPodBoxUseDays(Integer.parseInt(days + ""));
 					}
 					putBoxItemsList.add(item);
-					if ("OW(拿),OW(放)".contains(putBox.getBusType())) {
+					if ("OW(拿),OW(放),代理箱,租箱".contains(putBox.getBusType())) {
 						TradingBoxItem tradingBoxItem = tradingBoxItemOldList.stream().filter(e -> e.getCode().equals(item.getBoxCode())).findFirst().orElse(null);
 						if (tradingBoxItem == null) {
 							throw new RuntimeException("未查到OW单据明细箱号");

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

@@ -1558,7 +1558,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		TradingBox tradingBox = baseMapper.selectById(detail.getId());
 		int version = StringUtil.isBlank(tradingBox.getVersion()) ? 1 : Integer.parseInt(tradingBox.getVersion());
 		tradingBox.setVersion(String.valueOf(version + 1));
-		if ("OW-N,OW-F".contains(tradingBox.getType())) {
+		if ("OW-N,OW-F,DL,ZR".contains(tradingBox.getType())) {
 			tradingBox.setWhetherEnable("是");
 			tradingBox.setContainerNumber(detail.getContainerNumber());
 			tradingBox.setActivationDate(detail.getActivationDate());
@@ -1569,7 +1569,6 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				.eq(PutBox::getContainerNumber, detail.getContainerNumber())
 				.eq(PutBox::getPolId, detail.getPolId())
 				.eq(PutBox::getPolStationId, detail.getPolStationId())
-				.apply("find_in_set(bus_type,'OW(拿),OW(放)')")
 			);
 			if (putBox != null) {
 				throw new RuntimeException("OW类型放箱号:" + detail.getContainerNumber() + "已存在");
@@ -1601,7 +1600,15 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				}
 				BusinessBillNo businessBillNo = new BusinessBillNo();
 				businessBillNo.setBusinessTypeId(businessType.getId());
-				businessBillNo.setCode("FXH-OW");
+				if ("OW-N,OW-F".contains(tradingBox.getType())) {
+					businessBillNo.setCode("FXH-OW");
+				} else if ("DL".equals(tradingBox.getType())) {
+					businessBillNo.setCode("FXH-DL");
+				} else if ("ZR".equals(tradingBox.getType())) {
+					businessBillNo.setCode("FXH-ZY");
+				} else {
+					throw new RuntimeException("业务类型错误");
+				}
 				R clientBillNo = businessBillNoService.getBillNoLos(businessBillNo);
 				if (!clientBillNo.isSuccess()) {
 					throw new RuntimeException("生成订单编号失败");
@@ -1620,6 +1627,14 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					putBox.setBusType("OW(放)");
 					putBox.setBoxClass("OW(放)");
 					putBox.setSrcType("OW(放)");
+				} else if ("DL".equals(tradingBox.getType())) {
+					putBox.setBusType("代理箱");
+					putBox.setBoxClass("代理箱");
+					putBox.setSrcType("代理箱");
+				} else if ("ZR".equals(tradingBox.getType())) {
+					putBox.setBusType("租箱");
+					putBox.setBoxClass("租箱");
+					putBox.setSrcType("租箱");
 				}
 				putBox.setSrcId(tradingBox.getId());
 				putBox.setSrcNo(tradingBox.getSysNo());
@@ -1676,6 +1691,24 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				putBox.setPriorityLevel(tradingBox.getPriorityLevel());
 				putBoxService.save(putBox);
 			}
+			if ("DL,ZR".contains(tradingBox.getType())) {
+				List<TradingBoxItem> itemList = tradingBoxItemService.list(new LambdaQueryWrapper<TradingBoxItem>()
+					.eq(TradingBoxItem::getTenantId, AuthUtil.getTenantId())
+					.eq(TradingBoxItem::getIsDeleted, 0)
+					.eq(TradingBoxItem::getPid, putBox.getId()));
+				for (TradingBoxItem item : itemList) {
+					item.setUpdateUser(AuthUtil.getUserId());
+					item.setUpdateUserName(AuthUtil.getUserName());
+					item.setUpdateTime(new Date());
+					item.setWhetherEnable("是");
+					item.setContainerNumber(detail.getContainerNumber());
+					item.setActivationDate(detail.getActivationDate());
+					if (ObjectUtils.isNotNull(item.getRestrictedPortsIds()) && item.getRestrictedPortsIds().contains(detail.getPodId())) {
+						throw new RuntimeException("箱号:" + item.getCode() + "限制港口:" + detail.getPodCname());
+					}
+				}
+				tradingBoxItemService.updateBatchById(itemList);
+			}
 			return R.data(putBox);
 		} else {
 			tradingBox.setWhetherEnable("是");
@@ -1903,7 +1936,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				.eq(PutBox::getPolId, detail.getPolId())
 				.eq(PutBox::getPolStationId, detail.getPolStationId())
 				.eq(PutBox::getBoxType, itemList.get(0).getBoxType())
-				.apply("not find_in_set(bus_type,'OW(拿),OW(放)')")
+				.eq(PutBox::getBusType, "自有箱")
 			);
 			if (putBox != null) {
 				List<String> boxType = itemList.stream().map(TradingBoxItem::getBoxType).distinct().collect(Collectors.toList());
@@ -1957,16 +1990,9 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				if (businessType == null) {
 					throw new RuntimeException("未找到可用业务类型");
 				}
-				String code;
-				if ("DL".equals(tradingBox.getType())) {
-					putBox.setBusType("代理箱");
-					putBox.setBoxClass("代理箱");
-					code = "FXH-DL";
-				} else {
-					putBox.setBusType("自有箱");
-					putBox.setBoxClass("自有箱");
-					code = "FXH-ZY";
-				}
+				putBox.setBusType("自有箱");
+				putBox.setBoxClass("自有箱");
+				String code = "FXH-ZY";
 				BusinessBillNo businessBillNo = new BusinessBillNo();
 				businessBillNo.setBusinessTypeId(businessType.getId());
 				businessBillNo.setCode(code);
@@ -1980,13 +2006,8 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				putBox.setAgentId(tradingBox.getPurchaseCompanyId());
 				putBox.setAgentName(tradingBox.getPurchaseCompanyName());
 				putBox.setContainerNumber(detail.getContainerNumber());
-				if ("DL".equals(tradingBox.getType())) {
-					putBox.setBusType("代理箱");
-					putBox.setBoxClass("代理箱");
-				} else {
-					putBox.setBusType("自有箱");
-					putBox.setBoxClass("自有箱");
-				}
+				putBox.setBusType("自有箱");
+				putBox.setBoxClass("自有箱");
 				if (ObjectUtils.isNotNull(tradingBox.getInternalContainerNumber())) {
 					putBox.setInternalContainerNumber(tradingBox.getInternalContainerNumber());
 				} else {
@@ -3377,7 +3398,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				.eq(PutBoxItems::getTenantId, AuthUtil.getTenantId())
 				.eq(PutBoxItems::getIsDeleted, 0)
 				.eq(PutBoxItems::getPid, putBox.getId()));
-			if ("OW-N,OW-F".contains(tradingBox.getType())) {
+			if ("OW-N,OW-F,DL,ZR".contains(tradingBox.getType())) {
 				if (!boxItemsList.isEmpty()) {
 					throw new RuntimeException("放箱号:" + putBox.getContainerNumber() + "已导入箱号,撤销失败!");
 				}

+ 6 - 0
blade-service/blade-los/src/main/java/org/springblade/los/excel/ReviewFailedExcel.java

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
@@ -53,5 +54,10 @@ public class ReviewFailedExcel {
 	 */
 	@ExcelProperty(value = "业务员")
 	private String salesperson;
+	/**
+	 * 创建人
+	 */
+	@ExcelProperty(value = "创建人")
+	private String createUserName;
 
 }

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/controller/FinPeriodController.java

@@ -271,6 +271,7 @@ public class FinPeriodController extends BladeController {
 				if ("SALES".equals(item.getSrcType())) {
 					reviewFailedExcel.setSalesperson(item.getSrcCnName());
 				}
+				reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}
@@ -316,6 +317,7 @@ public class FinPeriodController extends BladeController {
 			reviewFailedExcel.setMblno(item.getMblno());
 			reviewFailedExcel.setHblno(item.getHblno());
 			reviewFailedExcel.setOperator(item.getOperatorName());
+			reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 			reviewFailedExcelList.add(reviewFailedExcel);
 		}
 		List<FinStlBills> finStlBillsLis = finStlBillsService.list(new LambdaQueryWrapper<FinStlBills>()
@@ -337,6 +339,7 @@ public class FinPeriodController extends BladeController {
 				reviewFailedExcel.setMblno(item.getMblno());
 				reviewFailedExcel.setHblno(item.getHblno());
 				reviewFailedExcel.setOperator(item.getOperatorName());
+				reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}
@@ -358,6 +361,7 @@ public class FinPeriodController extends BladeController {
 				reviewFailedExcel.setBusinessDate(item.getBillDate());
 				reviewFailedExcel.setMblno(item.getMblno());
 				reviewFailedExcel.setHblno(item.getHblno());
+				reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}

+ 9 - 3
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/impl/FinPeriodServiceImpl.java

@@ -238,6 +238,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 				if ("SALES".equals(item.getSrcType())) {
 					reviewFailedExcel.setSalesperson(item.getSrcCnName());
 				}
+				reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}
@@ -283,6 +284,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 			reviewFailedExcel.setMblno(item.getMblno());
 			reviewFailedExcel.setHblno(item.getHblno());
 			reviewFailedExcel.setOperator(item.getOperatorName());
+			reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 			reviewFailedExcelList.add(reviewFailedExcel);
 		}
 		List<FinStlBills> finStlBillsLis = finStlBillsService.list(new LambdaQueryWrapper<FinStlBills>()
@@ -304,6 +306,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 				reviewFailedExcel.setMblno(item.getMblno());
 				reviewFailedExcel.setHblno(item.getHblno());
 				reviewFailedExcel.setOperator(item.getOperatorName());
+				reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}
@@ -325,6 +328,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 				reviewFailedExcel.setBusinessDate(item.getBillDate());
 				reviewFailedExcel.setMblno(item.getMblno());
 				reviewFailedExcel.setHblno(item.getHblno());
+				reviewFailedExcel.setCreateUserName(item.getCreateUserName());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}
@@ -527,6 +531,8 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 		if (periodMonth == 12) {
 			periodMonth = 1;
 			periodYear += 1;
+		}else{
+			periodMonth = periodMonth+1;
 		}
 		FinPeriod finPeriodNew = baseMapper.selectOne(new LambdaQueryWrapper<FinPeriod>()
 			.eq(FinPeriod::getTenantId, AuthUtil.getTenantId())
@@ -534,13 +540,13 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 			.eq(FinPeriod::getBranchId, detail.getBranchId())
 			.eq(FinPeriod::getIsClosed, 0)
 			.eq(FinPeriod::getPeriodYear, periodYear)
-			.eq(FinPeriod::getPeriodMonth, periodMonth + 1));
+			.eq(FinPeriod::getPeriodMonth, periodMonth));
 		if (finPeriodNew != null) {
 			if (1 == finPeriodNew.getIsClosed()) {
-				throw new RuntimeException(periodYear + "年" + (periodMonth + 1) + "月期间已结转,操作失败");
+				throw new RuntimeException(periodYear + "年" + (periodMonth ) + "月期间已结转,操作失败");
 			}
 			if (1 == finPeriodNew.getLockingStatus()) {
-				throw new RuntimeException(periodYear + "年" + (periodMonth + 1) + "月期间已锁定,操作失败");
+				throw new RuntimeException(periodYear + "年" + (periodMonth ) + "月期间已锁定,操作失败");
 			}
 			baseMapper.deleteById(finPeriodNew.getId());
 		} else {

+ 1 - 19
blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java

@@ -2767,16 +2767,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 		BigDecimal amountCrUSD = new BigDecimal("0.00");
 		BigDecimal amountDrLoc = new BigDecimal("0.00");
 		BigDecimal amountCrLoc = new BigDecimal("0.00");
-		List<String> mblnoList = Arrays.asList(reconciliation.getMblnos().split(","));
-		List<String> hblnoList = Arrays.asList(reconciliation.getHblnos().split(","));
 		//对账明细状态修改  已对账
 		for (FinStlBillsItems item : finStlBillsItemsList) {
-			if (ObjectUtils.isNotNull(item.getMblno()) && !mblnoList.isEmpty()) {
-				mblnoList.removeIf(element -> item.getMblno().equals(element));
-			}
-			if (ObjectUtils.isNotNull(item.getHblno()) && !hblnoList.isEmpty()) {
-				hblnoList.removeIf(element -> item.getHblno().equals(element));
-			}
 			//判断是否是本位币
 			if (exrateType.equals(item.getCurrentStlCurCode())) {
 				item.setCurrentStlAmountLoc(item.getCurrentStlAmount());
@@ -2804,16 +2796,6 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				}
 			}
 		}
-		if (!mblnoList.isEmpty()) {
-			reconciliation.setMblnos(mblnoList.stream().distinct().collect(Collectors.joining(",")));
-		} else {
-			reconciliation.setMblnos("");
-		}
-		if (!mblnoList.isEmpty()) {
-			reconciliation.setHblnos(hblnoList.stream().distinct().collect(Collectors.joining(",")));
-		} else {
-			reconciliation.setHblnos("");
-		}
 		reconciliation.setAmountDr(reconciliation.getAmountDr().subtract(amountDrCNY));
 		reconciliation.setAmountCr(reconciliation.getAmountCr().subtract(amountCrCNY));
 		reconciliation.setAmountDrUsd(reconciliation.getAmountDrUsd().subtract(amountDrUSD));
@@ -3228,7 +3210,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			finStlBillsItemsService.removeByIds(idsList);
 			this.revokeFeeItems(stlBills, finStlBillsItemsList, exrateType);
 			List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(new LambdaQueryWrapper<FinStlBillsItems>()
-				.in(FinStlBillsItems::getId, idsList)
+				.notIn(FinStlBillsItems::getId, idsList)
 				.eq(FinStlBillsItems::getPid, stlBills.getId())
 				.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
 				.eq(FinStlBillsItems::getIsDeleted, 0));