Kaynağa Gözat

1.配箱列表删除增加判断是否存在放箱号
2.费用列表增加检索条件
3.海运出口占用记录增加提单号,分单号字段
4.OW放启用接口逻辑修改
5.OW放空箱出场逻辑修改

纪新园 13 saat önce
ebeveyn
işleme
3d904365bd
14 değiştirilmiş dosya ile 592 ekleme ve 329 silme
  1. 1 1
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/dynamics/entity/BoxDynamicsRecordItems.java
  2. 1 1
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/Archives.java
  3. 1 1
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/PutBoxItems.java
  4. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/TradingBox.java
  5. 1 1
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/TradingBoxItem.java
  6. 2 2
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/SeaContainerNumberItem.java
  7. 113 0
      blade-service/blade-los/src/main/java/org/springblade/los/Util/ArchivesUtils.java
  8. 12 0
      blade-service/blade-los/src/main/java/org/springblade/los/Util/StringTools.java
  9. 356 294
      blade-service/blade-los/src/main/java/org/springblade/los/box/dynamics/service/impl/BoxDynamicsRecordServiceImpl.java
  10. 71 9
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java
  11. 4 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/ContainersController.java
  12. 4 4
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/SeaContainerNumberItemController.java
  13. 18 16
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/SeaContainerNumberItemServiceImpl.java
  14. 3 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterController.java

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

@@ -299,5 +299,5 @@ public class BoxDynamicsRecordItems implements Serializable {
 	 * 临时id
 	 */
 	@TableField(exist = false)
-	private Long temporaryId;
+	private String temporaryId;
 }

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

@@ -415,7 +415,7 @@ public class Archives implements Serializable {
 	 * 临时id
 	 */
 	@TableField(exist = false)
-	private Long temporaryId;
+	private String temporaryId;
 
 
 }

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

@@ -382,5 +382,5 @@ public class PutBoxItems implements Serializable {
 	 * 临时id
 	 */
 	@TableField(exist = false)
-	private Long temporaryId;
+	private String temporaryId;
 }

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

@@ -455,6 +455,11 @@ public class TradingBox implements Serializable {
 	 */
 	@ApiModelProperty(value = "取件费")
 	private BigDecimal pickupFee;
+	/**
+	 * 来源放箱号Id
+	 */
+	@ApiModelProperty(value = "来源放箱号Id")
+	private Long srcContainerNumberId;
 
 	/**
 	 * 超期费

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

@@ -687,5 +687,5 @@ public class TradingBoxItem implements Serializable {
 	 * 临时id
 	 */
 	@TableField(exist = false)
-	private Long temporaryId;
+	private String temporaryId;
 }

+ 2 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/SeaContainerNumberItem.java

@@ -227,11 +227,11 @@ public class SeaContainerNumberItem implements Serializable {
 	private Integer storageNum;
 
 	//提单号
-	@TableField(exist = false)
+	@ApiModelProperty(value = "提单号")
 	private String mblno;
 
 	//分单号
-	@TableField(exist = false)
+	@ApiModelProperty(value = "分单号")
 	private String hblno;
 
 

+ 113 - 0
blade-service/blade-los/src/main/java/org/springblade/los/Util/ArchivesUtils.java

@@ -0,0 +1,113 @@
+package org.springblade.los.Util;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import lombok.AllArgsConstructor;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.los.basic.business.entity.BusinessType;
+import org.springblade.los.basic.business.service.IBusinessTypeService;
+import org.springblade.los.basic.corps.entity.BCorps;
+import org.springblade.los.basic.corps.service.IBCorpsService;
+import org.springblade.los.basic.cur.entity.BCurExrate;
+import org.springblade.los.basic.fees.entity.BFees;
+import org.springblade.los.basic.fees.service.IBFeesService;
+import org.springblade.los.basic.storage.entity.StorageFees;
+import org.springblade.los.basic.storage.entity.StorageFeesItems;
+import org.springblade.los.basic.storage.service.IStorageFeesItemsService;
+import org.springblade.los.basic.storage.service.IStorageFeesService;
+import org.springblade.los.billno.entity.BusinessBillNo;
+import org.springblade.los.billno.service.IBusinessBillNoService;
+import org.springblade.los.box.dynamics.entity.BoxDynamicsRecord;
+import org.springblade.los.box.dynamics.entity.BoxDynamicsRecordItems;
+import org.springblade.los.box.dynamics.mapper.BoxDynamicsRecordMapper;
+import org.springblade.los.box.entity.*;
+import org.springblade.los.box.service.IPutBoxItemsService;
+import org.springblade.los.box.service.IRentTermService;
+import org.springblade.los.box.service.ITradingBoxItemService;
+import org.springblade.los.business.sea.entity.Bills;
+import org.springblade.los.business.sea.entity.Containers;
+import org.springblade.los.business.sea.mapper.BillsMapper;
+import org.springblade.los.enums.BoxDynamicsEnums;
+import org.springblade.los.finance.fee.entity.FeeCenter;
+import org.springblade.los.finance.fee.entity.FeeCenterItems;
+import org.springblade.los.finance.fee.entity.FinAccBills;
+import org.springblade.los.finance.fee.service.ICostProfitCalculationService;
+import org.springblade.los.finance.fee.service.IFeeCenterItemsService;
+import org.springblade.los.finance.fee.service.IFeeCenterService;
+import org.springblade.los.finance.fee.service.IFinAccBillsService;
+import org.springblade.system.feign.ISysClient;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.rmi.RemoteException;
+import java.text.SimpleDateFormat;
+import java.time.*;
+import java.time.temporal.ChronoUnit;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @author :jixinyuan
+ * @date : 2026/3/25
+ */
+public class ArchivesUtils {
+
+
+	/**
+	 * 箱档案数据拼装
+	 * @param archives  箱档案
+	 * @param item  进出场记录
+	 * @param boxDynamics  箱动态
+	 * @param status  箱状态
+	 * @param containerNumberTypeOw  放箱号类型
+	 */
+	public static Archives dataAssembly(Archives archives, BoxDynamicsRecordItems item, String boxDynamics, String status,String containerNumberTypeOw) {
+		if (ObjectUtils.isNull(archives) || archives.getId() == null){
+			archives.setCode(item.getBoxCode());
+			archives.setCreateTime(new Date());
+			archives.setCreateUser(AuthUtil.getUserId());
+			archives.setCreateUserName(AuthUtil.getUserName());
+			archives.setStatus(status);
+			archives.setNewDate(item.getApproachExitDate());
+			archives.setBoxDynamics(boxDynamics);
+			archives.setBoxBelongsTo("SOC");
+			archives.setContainerNumber(item.getContainerNumber());
+			if (ObjectUtils.isNotNull(containerNumberTypeOw)){
+				archives.setContainerNumberType(containerNumberTypeOw);
+			}
+			archives.setTypeName(item.getBoxType());
+			archives.setBoxType(containerNumberTypeOw);
+		}else{
+			archives.setUpdateTime(new Date());
+			archives.setUpdateUser(AuthUtil.getUserId());
+			archives.setUpdateUserName(AuthUtil.getUserName());
+		}
+		archives.setContainerNumberOw(item.getContainerNumber());
+		if (ObjectUtils.isNotNull(containerNumberTypeOw)){
+			archives.setContainerNumberTypeOw(containerNumberTypeOw);
+		}
+		archives.setStatus(status);
+		archives.setBoxStatus(item.getBoxStatus());
+		archives.setNewDate(item.getApproachExitDate());
+		archives.setBoxDynamics(boxDynamics);
+		archives.setWhetherTransfer("0");
+		archives.setAddressId(item.getPortId());
+		archives.setAddressCode(item.getPortCode());
+		archives.setAddressCname(item.getPortCname());
+		archives.setAddressEname(item.getPortEname());
+		archives.setStationId(item.getStationId());
+		archives.setStationCode(item.getStationCode());
+		archives.setStationCname(item.getStationCname());
+		archives.setStationEname(item.getStationEname());
+		archives.setBillNo(item.getHblno());
+		archives.setTemporaryId(item.getTemporaryId());
+		return archives;
+	}
+
+
+}

+ 12 - 0
blade-service/blade-los/src/main/java/org/springblade/los/Util/StringTools.java

@@ -15,6 +15,7 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Random;
 
 /**
  * @author :jixinyuan
@@ -22,6 +23,8 @@ import java.util.List;
  */
 public class StringTools {
 
+	private static final String CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+
 	/**
 	 * 字符串英文字母转换成大写并去除前后空格
 	 *
@@ -313,4 +316,13 @@ public class StringTools {
 		value = value.toString().replaceAll("》", ">");
 		return value;
 	}
+
+	public static String generateRandomString(int length) {
+		Random random = new Random();
+		StringBuilder sb = new StringBuilder(length);
+		for (int i = 0; i < length; i++) {
+			sb.append(CHARACTERS.charAt(random.nextInt(CHARACTERS.length())));
+		}
+		return sb.toString();
+	}
 }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 356 - 294
blade-service/blade-los/src/main/java/org/springblade/los/box/dynamics/service/impl/BoxDynamicsRecordServiceImpl.java


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

@@ -43,6 +43,7 @@ import org.springblade.los.box.mapper.TradingBoxMapper;
 import org.springblade.los.box.service.*;
 import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.business.sea.entity.Containers;
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
 import org.springblade.los.business.sea.service.IBillsService;
 import org.springblade.los.business.sea.service.IContainersService;
 import org.springblade.los.business.sea.service.ISeaContainerNumberItemService;
@@ -191,8 +192,10 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		lambdaQueryWrapper.eq(TradingBox::getIsDeleted, 0)
 			.eq(TradingBox::getTenantId, AuthUtil.getTenantId())
 			.eq(TradingBox::getType, tradingBox.getType());
-		if ("OW-N,OW-F".contains(tradingBox.getType())) {
+		if ("OW-N".equals(tradingBox.getType())) {
 			lambdaQueryWrapper.eq(TradingBox::getContainerNumber, tradingBox.getContainerNumber());
+		} else if ("OW-F".equals(tradingBox.getType())) {
+			lambdaQueryWrapper.eq(TradingBox::getInternalContainerNumber, tradingBox.getInternalContainerNumber());
 		} else {
 			if ("ZR,DL".contains(tradingBox.getType())) {
 				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(tradingBox.getContainerNumber()), TradingBox::getContainerNumber, tradingBox.getContainerNumber());
@@ -278,7 +281,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		if (ObjectUtils.isNotNull(tradingBox.getContractNo())) {
 			tradingBox.setContractNo(tradingBox.getContractNo().trim());
 		}
-		if ("OW-N,OW-F".contains(tradingBox.getType()) && ObjectUtils.isNull(tradingBox.getInternalContainerNumber())) {
+		if ("OW-N".contains(tradingBox.getType()) && ObjectUtils.isNull(tradingBox.getInternalContainerNumber())) {
 			BusinessType businessType1 = bBusinessTypeService.getOne(new LambdaQueryWrapper<BusinessType>()
 				.select(BusinessType::getId)
 				.eq(BusinessType::getTenantId, AuthUtil.getTenantId())
@@ -309,6 +312,16 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				text = "合同号已存在,请勿重复添加";
 			}
 		}
+		if ("OW-F".equals(tradingBox.getType())) {
+			String fixedPrefix = sysClient.getParamService("fixed.prefix.numbering");
+			if (ObjectUtils.isNull(fixedPrefix) || "获取数据失败".equals(fixedPrefix)) {
+				throw new RuntimeException("请先维护放箱号固定前缀参数");
+			}
+			String data = tradingBox.getInternalContainerNumber().substring(0, fixedPrefix.length());
+			if (!fixedPrefix.equals(data)) {
+				tradingBox.setInternalContainerNumber(fixedPrefix + tradingBox.getInternalContainerNumber());
+			}
+		}
 		//判断id是否为空
 		if (tradingBox.getId() == null) {
 			if (!tradingBoxList.isEmpty() && ObjectUtils.isNotNull(text)) {
@@ -1624,14 +1637,18 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					throw new RuntimeException("请先维护箱型箱量明细");
 				}
 			}
-			PutBox putBox = putBoxService.getOne(new LambdaQueryWrapper<PutBox>()
+			LambdaQueryWrapper<PutBox> lambdaQueryWrapper = new LambdaQueryWrapper<PutBox>()
 				.eq(PutBox::getTenantId, AuthUtil.getTenantId())
 				.eq(PutBox::getIsDeleted, 0)
-				.eq(PutBox::getContainerNumber, detail.getContainerNumber())
 				.eq(PutBox::getPolId, detail.getPolId())
 				.eq(ObjectUtils.isNotNull(boxType), PutBox::getBoxType, boxType)
-				.eq(PutBox::getPolStationId, detail.getPolStationId())
-			);
+				.eq(PutBox::getPolStationId, detail.getPolStationId());
+			if ("OW-N".contains(tradingBox.getType())) {
+				lambdaQueryWrapper.eq(PutBox::getSrcContainerNumber, detail.getInternalContainerNumber());
+			} else {
+				lambdaQueryWrapper.eq(PutBox::getContainerNumber, detail.getContainerNumber());
+			}
+			PutBox putBox = putBoxService.getOne(lambdaQueryWrapper);
 			if (putBox != null) {
 				throw new RuntimeException("OW类型放箱号:" + detail.getContainerNumber() + "已存在");
 				/*if (!putBox.getBoxEastId().contains(tradingBox.getPurchaseCompanyId() + "")) {
@@ -1699,7 +1716,53 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				}
 				putBox.setSrcId(tradingBox.getId());
 				putBox.setSrcNo(tradingBox.getSysNo());
-				putBox.setSrcContainerNumber(tradingBox.getContainerNumber());
+				if ("OW-N".contains(tradingBox.getType())) {
+					putBox.setSrcContainerNumber(tradingBox.getInternalContainerNumber());
+					PutBox putBoxOld = putBoxService.getById(tradingBox.getSrcContainerNumberId());
+					if (putBoxOld == null) {
+						throw new RuntimeException("未查到原放箱号数据");
+					}
+					SeaContainerNumberItem containerNumberItem = new SeaContainerNumberItem();
+					containerNumberItem.setPid(tradingBox.getId());
+					containerNumberItem.setBranchId(AuthUtil.getDeptId());
+					containerNumberItem.setCreateUser(AuthUtil.getUserId());
+					containerNumberItem.setCreateUserName(AuthUtil.getUserName());
+					containerNumberItem.setCreateTime(new Date());
+					containerNumberItem.setContainerNumber(putBoxOld.getContainerNumber());
+					containerNumberItem.setBusType(putBoxOld.getBoxClass());
+					containerNumberItem.setPolId(putBoxOld.getPolId());
+					containerNumberItem.setPolCname(putBoxOld.getPolCname());
+					containerNumberItem.setPodId(putBoxOld.getPodId());
+					containerNumberItem.setPodCname(putBoxOld.getPodCname());
+					containerNumberItem.setPolStationId(putBoxOld.getPolStationId());
+					containerNumberItem.setPolStationCname(putBoxOld.getPolStationCname());
+					containerNumberItem.setBoxType(putBoxOld.getBoxType());
+					containerNumberItem.setRemainingNum(putBoxOld.getRemainingNum());
+					containerNumberItem.setPodStationId(putBoxOld.getPodStationId());
+					containerNumberItem.setPodStationCname(putBoxOld.getPodStationCname());
+					containerNumberItem.setInternalContainerNumber(putBoxOld.getInternalContainerNumber());
+					containerNumberItem.setInternalBoxClass(putBoxOld.getInternalBoxClass());
+					containerNumberItem.setSrcId(putBoxOld.getId());
+					containerNumberItem.setOccupyNum(tradingBox.getBoxNumber());
+					containerNumberItem.setHblno(tradingBox.getInternalContainerNumber());
+					containerNumberItem.setMblno(tradingBox.getSysNo());
+					containerNumberItem.setActualOccupyNum(tradingBox.getBoxNumber());
+					containerNumberItem.setPriorityLevel(putBoxOld.getPriorityLevel());
+					containerNumberItem.setStorageNum(putBoxOld.getStorageNum());
+					seaContainerNumberItemService.save(containerNumberItem);
+					putBoxOld.setUpdateTime(new Date());
+					putBoxOld.setUpdateUser(AuthUtil.getUserId());
+					putBoxOld.setUpdateUserName(AuthUtil.getUserName());
+					putBoxOld.setOccupyNum(putBoxOld.getOccupyNum() + containerNumberItem.getOccupyNum());
+					putBoxOld.setRemainingNum(putBoxOld.getRemainingNum() - containerNumberItem.getOccupyNum());
+					if (putBoxOld.getRemainingNum() < 0) {
+						throw new RuntimeException("放箱号:" + putBoxOld.getContainerNumber() + "可用数量不足");
+					}
+					putBoxOld.setVersion(putBoxOld.getVersion()+1);
+					putBoxService.updateById(putBoxOld);
+				} else {
+					putBox.setSrcContainerNumber(tradingBox.getContainerNumber());
+				}
 				putBox.setPolId(detail.getPolId());
 				putBox.setPolCname(detail.getPolCname());
 				putBox.setPolEname(detail.getPolEname());
@@ -1711,7 +1774,6 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				putBox.setBoxCondition(tradingBox.getBoxCondition());
 				putBox.setTotalNum(tradingBox.getBoxNumber());
 				putBox.setRemainingNum(putBox.getTotalNum());
-				putBox.setNotSuitcaseNum(putBox.getTotalNum());
 				putBox.setEffectiveEndDate(tradingBox.getExpiryDate());
 				putBox.setEffectiveStartDate(tradingBox.getEffectiveDate());
 				putBox.setBoxType(tradingBox.getBoxTypeQuantityOne());
@@ -2835,7 +2897,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		}
 		putBox.setTotalNum(tradingBox.getBoxNumber());
 		putBox.setRemainingNum(putBox.getTotalNum() - putBox.getOccupyNum() - alreadyAppeared);
-		putBox.setVersion(putBox.getVersion()+1);
+		putBox.setVersion(putBox.getVersion() + 1);
 		putBoxService.updateById(putBox);
 		return R.data(tradingBox);
 	}

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/ContainersController.java

@@ -19,6 +19,7 @@ package org.springblade.los.business.sea.controller;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -233,6 +234,9 @@ public class ContainersController extends BladeController {
 			.eq(Containers::getIsDeleted, 0)
 			.in(Containers::getId, Func.toLongList(ids)));
 		for (Containers item : containersList) {
+			if (ObjectUtils.isNotNull(item.getContainerNumber())){
+				throw new RuntimeException("箱号:"+item.getCntrNo()+"已出场,删除失败");
+			}
 			item.setUpdateUserName(AuthUtil.getUserName());
 			item.setUpdateUser(AuthUtil.getUserId());
 			item.setUpdateTime(new Date());

+ 4 - 4
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/SeaContainerNumberItemController.java

@@ -167,20 +167,20 @@ public class SeaContainerNumberItemController extends BladeController {
 				.apply("occupy_num - out_num != 0")
 			.eq(SeaContainerNumberItem::getWhetherAppearStatus, "0"));
 		if (!list.isEmpty()) {
-			List<Long> idList = list.stream().map(SeaContainerNumberItem::getPid).distinct().collect(Collectors.toList());
+			/*List<Long> idList = list.stream().map(SeaContainerNumberItem::getPid).distinct().collect(Collectors.toList());
 			List<Bills> billsList = billsService.list(new LambdaQueryWrapper<Bills>()
 				.eq(Bills::getTenantId, AuthUtil.getTenantId())
 				.eq(Bills::getIsDeleted, 0)
-				.in(Bills::getId, idList));
+				.in(Bills::getId, idList));*/
 			for (SeaContainerNumberItem item : list) {
 				item.setOccupyNum(item.getOccupyNum() - item.getOutNum());
-				if (!billsList.isEmpty()) {
+				/*if (!billsList.isEmpty()) {
 					Bills bills = billsList.stream().filter(e -> e.getId().equals(item.getPid())).findFirst().orElse(null);
 					if (bills != null) {
 						item.setMblno(bills.getMblno());
 						item.setHblno(bills.getHblno());
 					}
-				}
+				}*/
 			}
 		}
 		return R.data(list);

+ 18 - 16
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/SeaContainerNumberItemServiceImpl.java

@@ -121,8 +121,8 @@ public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerN
 			}
 			item.setOccupyNum(item.getOccupyNum() + containerNumberItem.getOccupyNum());
 			item.setRemainingNum(item.getRemainingNum() - containerNumberItem.getOccupyNum());
-			if(item.getRemainingNum()<0){
-				throw new RuntimeException("放箱号:"+item.getContainerNumber()+"可用数量不足");
+			if (item.getRemainingNum() < 0) {
+				throw new RuntimeException("放箱号:" + item.getContainerNumber() + "可用数量不足");
 			}
 		}
 		putBoxService.updateBatchByIdAndVersion(putBoxList);
@@ -132,7 +132,7 @@ public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerN
 		if (preContainers == null) {
 			throw new RuntimeException("数据错误,请联系管理员");
 		}
-		if ("已选择".equals(preContainers.getContainerNumberStatus())){
+		if ("已选择".equals(preContainers.getContainerNumberStatus())) {
 			throw new RuntimeException("放箱号已占用请刷新");
 		}
 		if (preContainers.getQuantity() < containerNumberItemList.stream().map(SeaContainerNumberItem::getOccupyNum).reduce(0, Integer::sum)) {
@@ -440,18 +440,20 @@ public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerN
 		if (!containersList.isEmpty()) {
 			List<Containers> containers = containersList.stream().filter(e -> e.getCntrTypeCode().equals(preContainers.getCntrTypeCode()))
 				.collect(Collectors.toList());
-			List<Long> containersIdList = new ArrayList<>();
-			for (Containers item : containers) {
-				if (new BigDecimal("0.00").compareTo(item.getQuantity()) != 0) {
-					throw new RuntimeException("已配箱,请先撤销后再操作!");
-				}
-				if (ObjectUtils.isNotNull(item.getCntrNo())) {
-					throw new RuntimeException("存在箱号,请先清空后再操作!");
+			if (!containers.isEmpty()) {
+				for (Containers item : containers) {
+					if (new BigDecimal("0.00").compareTo(item.getQuantity()) != 0) {
+						throw new RuntimeException("已配箱,请先撤销后再操作!");
+					}
+					if (ObjectUtils.isNotNull(item.getCntrNo())) {
+						throw new RuntimeException("存在箱号,请先清空后再操作!");
+					}
+					item.setUpdateTime(new Date());
+					item.setUpdateUserName(AuthUtil.getUserName());
+					item.setUpdateUser(AuthUtil.getUserId());
+					item.setIsDeleted(1);
 				}
-				containersIdList.add(item.getId());
-			}
-			if (!containersIdList.isEmpty()) {
-				containersService.removeByIds(containersIdList);
+				containersService.updateBatchById(containers);
 			}
 		}
 		return R.data("操作成功");
@@ -509,9 +511,9 @@ public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerN
 				if (item.getOccupyNum() == 0) {
 					deteleIdList.add(item.getId());
 				}
-				if (item.getOccupyNum().equals(item.getOutNum())){
+				if (item.getOccupyNum().equals(item.getOutNum())) {
 					item.setWhetherAppearStatus("1");
-				}else{
+				} else {
 					item.setWhetherAppearStatus("0");
 				}
 			}

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterController.java

@@ -111,6 +111,9 @@ public class FeeCenterController extends BladeController {
 		LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(feeCenter.getBusinessType()),FeeCenter::getBusinessType, feeCenter.getBusinessType())
+			.eq(ObjectUtils.isNotNull(feeCenter.getBillBranchId()),FeeCenter::getBillBranchId, feeCenter.getBillBranchId())
+			.eq(ObjectUtils.isNotNull(feeCenter.getBillNo()),FeeCenter::getBillNo, feeCenter.getBillNo())
 			.eq(ObjectUtils.isNotNull(feeCenter.getDc()),FeeCenter::getDc, feeCenter.getDc())
 			.and(ObjectUtils.isNotNull(feeCenter.getCorpCnName()), i -> i.like(FeeCenter::getCorpCnName, feeCenter.getCorpCnName()).or()
 				.like(FeeCenter::getCorpEnName, feeCenter.getCorpCnName()))

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor