Browse Source

2024年11月15日17:27:44

纪新园 1 year ago
parent
commit
6a3eae4b2e

+ 12 - 0
blade-ops/blade-resource/pom.xml

@@ -27,6 +27,12 @@
             <groupId>org.springblade</groupId>
             <artifactId>blade-starter-swagger</artifactId>
         </dependency>
+        <!--图片压缩-->
+        <dependency>
+            <groupId>net.coobird</groupId>
+            <artifactId>thumbnailator</artifactId>
+            <version>0.4.14</version>
+        </dependency>
         <!--Oss-->
         <dependency>
             <groupId>org.springblade</groupId>
@@ -88,6 +94,12 @@
             <version>2.8.2.RELEASE</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-mock</artifactId>
+            <version>2.0.8</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 30 - 1
blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java

@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import io.swagger.annotations.Api;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
+import net.coobird.thumbnailator.Thumbnails;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.oss.model.OssFile;
 import org.springblade.core.tenant.annotation.NonDS;
@@ -30,9 +31,14 @@ import org.springblade.resource.builder.oss.OssBuilder;
 import org.springblade.resource.entity.Attach;
 import org.springblade.resource.service.IAttachService;
 import org.springblade.system.feign.ISysClient;
+import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+
 /**
  * 对象存储端点
  *
@@ -150,7 +156,30 @@ public class OssEndpoint {
 		String replaceUrl = sysClient.getParamService("replace.url");
 		System.err.println("upload.url:" + status);
 		System.err.println("replace.url:" + replaceUrl);
-		BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
+		String contentType = file.getContentType();
+		BladeFile bladeFile;
+		if (contentType != null && (contentType.equals("image/jpeg") || contentType.equals("image/png")
+			|| contentType.equals("image/jpg")) || contentType.equals("image/bmp")){
+			if (file.getSize() > 204800){
+				// 使用Thumbnails压缩图片
+				ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+				Thumbnails.of(file.getInputStream())
+					.size(350,350)
+					.outputQuality(1)
+					.toOutputStream(outputStream);
+				MultipartFile compressedImage = new MockMultipartFile(
+					file.getName(),
+					file.getOriginalFilename(),
+					file.getContentType(),
+					outputStream.toByteArray()
+				);
+				bladeFile = ossBuilder.template().putFile(compressedImage.getOriginalFilename(), compressedImage.getInputStream());
+			}else{
+				bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
+			}
+		}else{
+			bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
+		}
 		String link = bladeFile.getLink();
 		System.err.println("link:" + link);
 		//String replace = link.replace("http://121.37.83.47:9000/", "https://trade.tubaosoft.com/file/");

+ 14 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/aea/entity/AeaBills.java

@@ -24,10 +24,12 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.sea.dto.ContainersReports;
 import org.springblade.los.finance.fee.dto.FeeCenterReports;
 import org.springblade.los.finance.fee.entity.FeeCenter;
+import org.springblade.los.finance.fee.entity.FinAccBills;
 import org.springblade.los.utils.LosSpecialHandle;
 import org.springblade.system.entity.Dept;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -1185,6 +1187,18 @@ public class AeaBills implements Serializable {
 	@TableField(exist = false)
 	private List<FeeCenter> feeCenterListD;
 
+	/**
+	 * 账单明细
+	 */
+	@TableField(exist = false)
+	private List<FinAccBills> finAccBillsList;
+
+	/**
+	 * amends明细
+	 */
+	@TableField(exist = false)
+	private List<Amends> amendsList;
+
 	//跳转对应页面的路由
 	@TableField(exist = false)
 	private String url;

+ 14 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/customsDeclaration/entity/CustomsDeclaration.java

@@ -24,10 +24,12 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.sea.dto.ContainersReports;
 import org.springblade.los.finance.fee.dto.FeeCenterReports;
 import org.springblade.los.finance.fee.entity.FeeCenter;
+import org.springblade.los.finance.fee.entity.FinAccBills;
 import org.springblade.los.utils.LosSpecialHandle;
 import org.springblade.system.entity.Dept;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -645,6 +647,18 @@ public class CustomsDeclaration implements Serializable {
 	@TableField(exist = false)
 	private List<FeeCenter> feeCenterListD;
 
+	/**
+	 * 账单明细
+	 */
+	@TableField(exist = false)
+	private List<FinAccBills> finAccBillsList;
+
+	/**
+	 * amends明细
+	 */
+	@TableField(exist = false)
+	private List<Amends> amendsList;
+
 	//跳转对应页面的路由
 	@TableField(exist = false)
 	private String url;

+ 6 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -107,7 +107,7 @@ public class BillsController extends BladeController {
 			Bills::getAccountStatus, Bills::getRemarks, Bills::getPackingUnit, Bills::getBillDate, Bills::getTeamName,
 			Bills::getCreateUser, Bills::getTeu, Bills::getIssueType, Bills::getBookingNo, Bills::getQuantityCntrDescr,
 			Bills::getCreateDeptName, Bills::getLineCnName, Bills::getCarrierCnName, Bills::getCyCnName, Bills::getSrcType,
-			Bills::getSrcCnName, Bills::getBookingAgentCnName);
+			Bills::getSrcCnName, Bills::getBookingAgentCnName, Bills::getPodCnName, Bills::getPolCnName);
 		lambdaQueryWrapper.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getTenantId, AuthUtil.getTenantId())
 			.and(i -> i.isNull(Bills::getMasterId).or()
@@ -199,6 +199,11 @@ public class BillsController extends BladeController {
 					SeaBillsDetail seaBillsDetail = seaBillsDetailList.stream().filter(e-> e.getPid().equals(item.getId())).findFirst().orElse(null);
 					if (seaBillsDetail != null){
 						item.setHconsigneeCnName(seaBillsDetail.getHconsigneeCnName());
+						item.setMconsigneeCntyCode(seaBillsDetail.getMconsigneeCntyCode());
+						item.setHshipperCnName(seaBillsDetail.getHshipperCnName());
+						item.setMnotifyCntyCode(seaBillsDetail.getMnotifyCntyCode());
+						item.setMnotify2CntyName(seaBillsDetail.getMnotify2CntyName());
+						item.setMshipperCntyName(seaBillsDetail.getMshipperCntyName());
 					}
 				}
 			}

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

@@ -33,10 +33,14 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.business.sea.entity.Bills;
+import org.springblade.los.business.sea.entity.SeaBillsDetail;
 import org.springblade.los.business.sea.service.IBillsService;
+import org.springblade.los.business.sea.service.ISeaBillsDetailService;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 贸易代理-海运进口 控制器
@@ -54,6 +58,8 @@ public class TradeBillsController extends BladeController {
 
 	private final IDeptUtils deptUtils;
 
+	private final ISeaBillsDetailService seaBillsDetailService;
+
 	/**
 	 * 详情
 	 */
@@ -147,6 +153,25 @@ public class TradeBillsController extends BladeController {
 			.eq(ObjectUtils.isNotNull(bills.getStatus()), Bills::getStatus, bills.getStatus());
 		lambdaQueryWrapper.orderByDesc(Bills::getCreateTime);
 		IPage<Bills> pages = billsService.page(Condition.getPage(query), lambdaQueryWrapper);
+		if (!pages.getRecords().isEmpty()) {
+			List<Long> ids = pages.getRecords().stream().map(Bills::getId).collect(Collectors.toList());
+			List<SeaBillsDetail> seaBillsDetailList = seaBillsDetailService.list(new LambdaQueryWrapper<SeaBillsDetail>()
+				.eq(SeaBillsDetail::getTenantId, AuthUtil.getTenantId())
+				.in(SeaBillsDetail::getPid, ids));
+			for (Bills item : pages.getRecords()) {
+				if (!seaBillsDetailList.isEmpty()) {
+					SeaBillsDetail seaBillsDetail = seaBillsDetailList.stream().filter(e -> e.getPid().equals(item.getId())).findFirst().orElse(null);
+					if (seaBillsDetail != null) {
+						item.setHconsigneeCnName(seaBillsDetail.getHconsigneeCnName());
+						item.setMconsigneeCntyCode(seaBillsDetail.getMconsigneeCntyCode());
+						item.setHshipperCnName(seaBillsDetail.getHshipperCnName());
+						item.setMnotifyCntyCode(seaBillsDetail.getMnotifyCntyCode());
+						item.setMnotify2CntyName(seaBillsDetail.getMnotify2CntyName());
+						item.setMshipperCntyName(seaBillsDetail.getMshipperCntyName());
+					}
+				}
+			}
+		}
 		return R.data(pages);
 	}
 

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/update/controller/UpdateController.java

@@ -151,7 +151,7 @@ public class UpdateController extends BladeController {
 	@PostMapping("/checkUpdate")
 	@ApiOperationSupport(order = 13)
 	@RepeatSubmit
-	public R checkUpdate(@RequestBody Update update) {
+	public R checkUpdate(@RequestBody Update update) throws Exception{
 		Update declare = updateService.checkUpdate(update);
 		return R.data(declare);
 	}

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/update/service/IUpdateService.java

@@ -45,7 +45,7 @@ public interface IUpdateService extends IService<Update> {
 
 	Update getUpdate(Update update);
 
-	Update checkUpdate(Update update);
+	Update checkUpdate(Update update)throws Exception;
 
 	R passCheck(Long id)throws Exception;
 

+ 1363 - 35
blade-service/blade-los/src/main/java/org/springblade/los/business/update/service/impl/UpdateServiceImpl.java

@@ -25,6 +25,30 @@ import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.los.Util.IDeptUtils;
+import org.springblade.los.basic.cntr.entity.BCntrTypes;
+import org.springblade.los.basic.cntr.service.IBCntrTypesService;
+import org.springblade.los.basic.commodity.entity.BCommodity;
+import org.springblade.los.basic.commodity.service.IBCommodityService;
+import org.springblade.los.basic.corps.entity.BCorps;
+import org.springblade.los.basic.corps.service.IBCorpsService;
+import org.springblade.los.basic.countrys.entity.BCountrys;
+import org.springblade.los.basic.countrys.service.IBCountrysService;
+import org.springblade.los.basic.fees.entity.BFees;
+import org.springblade.los.basic.fees.service.IBFeesService;
+import org.springblade.los.basic.lines.entity.BLines;
+import org.springblade.los.basic.lines.service.IBLinesService;
+import org.springblade.los.basic.modes.entity.BTradeModes;
+import org.springblade.los.basic.modes.service.IBTradeModesService;
+import org.springblade.los.basic.packages.entity.BPackages;
+import org.springblade.los.basic.packages.service.IBPackagesService;
+import org.springblade.los.basic.ports.entity.BPorts;
+import org.springblade.los.basic.ports.service.IBPortsService;
+import org.springblade.los.basic.terms.entity.BServiceTerms;
+import org.springblade.los.basic.terms.service.IBServiceTermsService;
+import org.springblade.los.basic.units.entity.BUnits;
+import org.springblade.los.basic.units.service.IBUnitsService;
+import org.springblade.los.basic.vessels.entity.BVessels;
+import org.springblade.los.basic.vessels.service.IBVesselsService;
 import org.springblade.los.business.aea.entity.AeaBills;
 import org.springblade.los.business.aea.service.IAeaBillsService;
 import org.springblade.los.business.amends.entity.Amends;
@@ -92,6 +116,31 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 
 	private final IAmendsService amendsService;
 
+	private final IBCorpsService bCorpsService;
+
+	private final IBCommodityService bCommodityService;
+
+	private final IBCountrysService bCountrysService;
+
+	private final IBLinesService bLinesService;
+
+	private final IBTradeModesService bTradeModesService;
+
+	private final IBPackagesService bPackagesService;
+
+	private final IBPortsService bPortsService;
+
+	private final IBServiceTermsService bServiceTermsService;
+
+	private final IBUnitsService bUnitsService;
+
+	private final IBVesselsService bVesselsService;
+
+	private final IBFeesService bFeesService;
+
+	private final IBCntrTypesService bCntrTypesService;
+
+
 	@Override
 	public IPage<UpdateVO> selectUpdatePage(IPage<UpdateVO> page, UpdateVO update) {
 		return page.setRecords(baseMapper.selectUpdatePage(page, update));
@@ -175,7 +224,7 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 	}
 
 	@Override
-	public Update checkUpdate(Update update) {
+	public Update checkUpdate(Update update) throws Exception{
 		Update declare = baseMapper.selectById(update.getId());
 
 		Integer actId = 1113;
@@ -210,6 +259,7 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 		// 没开启审批流直接走 通过流程
 		if (pathsActs == null || pathsActs.getIsEnable() == 2) {
 			declare.setApprovalStatus("审核通过");
+			this.passCheck(declare.getId());
 		} else {
 			if (CollectionUtils.isEmpty(auditPathsLevels)) {
 				throw new SecurityException("开启审批失败:未查询到审批信息");
@@ -239,9 +289,9 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 			if (!financeProcess.isSuccess()) {
 				throw new SecurityException("操作失败,请联系管理员");
 			}
+			declare.setApprovalStatus("审核提交");
+			baseMapper.updateById(declare);
 		}
-		declare.setApprovalStatus("审核提交");
-		baseMapper.updateById(declare);
 		return declare;
 	}
 
@@ -253,6 +303,7 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 		}
 		update.setApprovalStatus("审核通过");
 		baseMapper.updateById(update);
+		//修改明细数据
 		List<UpdateItem> updateItemList = updateItemService.list(new LambdaQueryWrapper<UpdateItem>()
 			.eq(UpdateItem::getTenantId, AuthUtil.getTenantId())
 			.eq(UpdateItem::getIsDeleted, 0)
@@ -264,7 +315,11 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 		List<Amends> amendsList;
 		List<FeeCenter> feeCenterList;
 		List<FinAccBills> finAccBillsList;
+		List<Amends> amendsListNew = new ArrayList<>();
+		List<FeeCenter> feeCenterListNew = new ArrayList<>();
+		List<FinAccBills> finAccBillsListNew = new ArrayList<>();
 		List<Long> ids = new ArrayList<>();
+		//判断业务类型 获取对应类型业务数据
 		if ("SE".equals(update.getBusinessType()) || "SI".equals(update.getBusinessType())) {
 			LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<Bills>()
 				.eq(Bills::getBusinessType, update.getBusinessType())
@@ -327,6 +382,7 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 		if (ids.isEmpty()) {
 			throw new RuntimeException("未查到原单据信息");
 		}
+		//Amends业务数据
 		amendsList = amendsService.list(new LambdaQueryWrapper<Amends>()
 			.in(Amends::getOrigId, ids)
 			.eq(Amends::getTenantId, AuthUtil.getTenantId())
@@ -334,32 +390,49 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 		if (!amendsList.isEmpty()) {
 			ids.addAll(amendsList.stream().map(Amends::getId).collect(Collectors.toList()));
 		}
+		//费用中心数据
 		feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 			.in(FeeCenter::getPid, ids)
 			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 			.eq(FeeCenter::getIsDeleted, 0));
+		//账单中心数据
 		finAccBillsList = finAccBillsService.list(new LambdaQueryWrapper<FinAccBills>()
 			.in(FinAccBills::getBusinessBillId, ids)
 			.eq(FinAccBills::getTenantId, AuthUtil.getTenantId())
 			.eq(FinAccBills::getIsDeleted, 0));
 		for (UpdateItem item : updateItemList) {
+			//判断明细状态
 			if (0 == item.getStatus()) {
+				if (ObjectUtils.isNull(item.getFieldValueNew())) {
+					throw new RuntimeException("项目" + item.getFieldDescribe() + "值不能为空");
+				}
+				//判断业务类型 执行对应类型修改业务逻辑
 				if ("SE".equals(update.getBusinessType()) || "SI".equals(update.getBusinessType())) {
 					if (bills != null) {
-						updateBills(bills, amendsList, feeCenterList, finAccBillsList, item);
+						Bills detail = updateBills(bills, amendsList, feeCenterList, finAccBillsList, item);
+						amendsListNew = detail.getAmendsList();
+						feeCenterListNew = detail.getFeeCenterListD();
+						finAccBillsListNew = detail.getFinAccBillsList();
 					}
 				} else if ("AI".equals(update.getBusinessType()) || "AE".equals(update.getBusinessType())) {
 					if (aeaBills != null) {
-						updateAeaBills(aeaBills, amendsList, feeCenterList, finAccBillsList, item);
+						AeaBills detail = updateAeaBills(aeaBills, amendsList, feeCenterList, finAccBillsList, item);
+						amendsListNew = detail.getAmendsList();
+						feeCenterListNew = detail.getFeeCenterListD();
+						finAccBillsListNew = detail.getFinAccBillsList();
 					}
 				} else if ("BGSE".equals(update.getBusinessType()) || "BGSI".equals(update.getBusinessType()) ||
 					"BGAI".equals(update.getBusinessType()) || "BGAE".equals(update.getBusinessType())) {
 					if (customsDeclaration != null) {
-						updateCustomsDeclaration(customsDeclaration, amendsList, feeCenterList, finAccBillsList, item);
+						CustomsDeclaration detail = updateCustomsDeclaration(customsDeclaration, amendsList, feeCenterList, finAccBillsList, item);
+						amendsListNew = detail.getAmendsList();
+						feeCenterListNew = detail.getFeeCenterListD();
+						finAccBillsListNew = detail.getFinAccBillsList();
 					}
 				}
 			}
 		}
+		//保存修改数据
 		if ("SE".equals(update.getBusinessType()) || "SI".equals(update.getBusinessType())) {
 			if (bills == null) {
 				throw new RuntimeException("操作失败,请联系管理员");
@@ -386,59 +459,1314 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 			customsDeclaration.setUpdateUserName(AuthUtil.getUserName());
 			customsDeclarationService.updateById(customsDeclaration);
 		}
-		if (!amendsList.isEmpty()) {
-			amendsService.updateBatchById(amendsList);
+		if (!amendsListNew.isEmpty()) {
+			amendsService.updateBatchById(amendsListNew);
 		}
-		if (!feeCenterList.isEmpty()) {
-			feeCenterService.updateBatchById(feeCenterList);
+		if (!feeCenterListNew.isEmpty()) {
+			feeCenterService.updateBatchById(feeCenterListNew);
 		}
-		if (!finAccBillsList.isEmpty()) {
-			finAccBillsService.updateBatchById(finAccBillsList);
+		if (!finAccBillsListNew.isEmpty()) {
+			finAccBillsService.updateBatchById(finAccBillsListNew);
 		}
 		return R.success("操作成功");
 	}
 
+	/**
+	 *  修改海运进出口中字段值
+	 * @param amendsList 海运进出口数据
+	 * @param item 修改数据
+	 */
 	private Bills updateBills(Bills bills, List<Amends> amendsList, List<FeeCenter> feeCenterList, List<FinAccBills> finAccBillsList, UpdateItem item) throws Exception {
-		Field field = bills.getClass().getDeclaredField(item.getField());
-		field.setAccessible(true); // 使私有字段可访问
-		field.set(bills, item.getFieldValueNew());
-
-		if (!amendsList.isEmpty()) {
-
-			for (Amends amends : amendsList) {
-				Field fieldAmends = amends.getClass().getDeclaredField(item.getField());
-				fieldAmends.setAccessible(true); // 使私有字段可访问
-				fieldAmends.set(amends, item.getFieldValueNew());
+		BCorps bCorps = null;
+		BPorts bPorts = null;
+		BCountrys bCountrys = null;
+		BVessels bVessels = null;
+		BPackages bPackages = null;
+		BUnits bUnits = null;
+		BFees bFees = null;
+		BCntrTypes bCntrTypes = null;
+		BServiceTerms bServiceTerms = null;
+		BTradeModes bTradeModes = null;
+		BLines bLines = null;
+		BCommodity bCommodity = null;
+		//判断字段值类型 除选择器类型以外直接修改
+		if ("选择器".equals(item.getFieldValueType())) {
+			//判断查询类型 获取对应基础资料信息并赋值
+			if ("客户".equals(item.getQueryType())) {
+				bCorps = bCorpsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCorps != null) {
+					assignmentCorps(bills, null, null, null, null, null, bCorps, item.getMainFieldId(), "1");
+					assignmentCorps(bills, null, null, null, null, null, bCorps, item.getMainFieldCode(), "1");
+					assignmentCorps(bills, null, null, null, null, null, bCorps, item.getMainFieldCname(), "1");
+					assignmentCorps(bills, null, null, null, null, null, bCorps, item.getMainFieldEname(), "1");
+				}
+			} else if ("港口".equals(item.getQueryType())) {
+				bPorts = bPortsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bPorts != null) {
+					assignmentBPorts(bills, null, null, null, null, null, bPorts, item.getMainFieldId(), "1");
+					assignmentBPorts(bills, null, null, null, null, null, bPorts, item.getMainFieldCode(), "1");
+					assignmentBPorts(bills, null, null, null, null, null, bPorts, item.getMainFieldCname(), "1");
+					assignmentBPorts(bills, null, null, null, null, null, bPorts, item.getMainFieldEname(), "1");
+				}
+			} else if ("国家".equals(item.getQueryType())) {
+				bCountrys = bCountrysService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCountrys != null) {
+					assignmentBCountrys(bills, null, null, null, null, null, bCountrys, item.getMainFieldId(), "1");
+					assignmentBCountrys(bills, null, null, null, null, null, bCountrys, item.getMainFieldCode(), "1");
+					assignmentBCountrys(bills, null, null, null, null, null, bCountrys, item.getMainFieldCname(), "1");
+					assignmentBCountrys(bills, null, null, null, null, null, bCountrys, item.getMainFieldEname(), "1");
+				}
+			} else if ("船名".equals(item.getQueryType())) {
+				bVessels = bVesselsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bVessels != null) {
+					assignmentBVessels(bills, null, null, null, null, null, bVessels, item.getMainFieldId(), "1");
+					assignmentBVessels(bills, null, null, null, null, null, bVessels, item.getMainFieldCode(), "1");
+					assignmentBVessels(bills, null, null, null, null, null, bVessels, item.getMainFieldCname(), "1");
+					assignmentBVessels(bills, null, null, null, null, null, bVessels, item.getMainFieldEname(), "1");
+				}
+			} else if ("包装".equals(item.getQueryType())) {
+				bPackages = bPackagesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bPackages != null) {
+					assignmentBPackages(bills, null, null, null, null, null, bPackages, item.getMainFieldId(), "1");
+					assignmentBPackages(bills, null, null, null, null, null, bPackages, item.getMainFieldCode(), "1");
+					assignmentBPackages(bills, null, null, null, null, null, bPackages, item.getMainFieldCname(), "1");
+					assignmentBPackages(bills, null, null, null, null, null, bPackages, item.getMainFieldEname(), "1");
+				}
+			} else if ("单位".equals(item.getQueryType())) {
+				bUnits = bUnitsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bUnits != null) {
+					assignmentBUnits(bills, null, null, null, null, null, bUnits, item.getMainFieldId(), "1");
+					assignmentBUnits(bills, null, null, null, null, null, bUnits, item.getMainFieldCode(), "1");
+					assignmentBUnits(bills, null, null, null, null, null, bUnits, item.getMainFieldCname(), "1");
+					assignmentBUnits(bills, null, null, null, null, null, bUnits, item.getMainFieldEname(), "1");
+				}
+			} else if ("费用".equals(item.getQueryType())) {
+				bFees = bFeesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bFees != null) {
+					assignmentBFees(bills, null, null, null, null, null, bFees, item.getMainFieldId(), "1");
+					assignmentBFees(bills, null, null, null, null, null, bFees, item.getMainFieldCode(), "1");
+					assignmentBFees(bills, null, null, null, null, null, bFees, item.getMainFieldCname(), "1");
+					assignmentBFees(bills, null, null, null, null, null, bFees, item.getMainFieldEname(), "1");
+				}
+			} else if ("箱型".equals(item.getQueryType())) {
+				bCntrTypes = bCntrTypesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCntrTypes != null) {
+					assignmentBCntrTypes(bills, null, null, null, null, null, bCntrTypes, item.getMainFieldId(), "1");
+					assignmentBCntrTypes(bills, null, null, null, null, null, bCntrTypes, item.getMainFieldCode(), "1");
+					assignmentBCntrTypes(bills, null, null, null, null, null, bCntrTypes, item.getMainFieldCname(), "1");
+					assignmentBCntrTypes(bills, null, null, null, null, null, bCntrTypes, item.getMainFieldEname(), "1");
+				}
+			} else if ("服务条款".equals(item.getQueryType())) {
+				bServiceTerms = bServiceTermsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bServiceTerms != null) {
+					assignmentBServiceTerms(bills, null, null, null, null, null, bServiceTerms, item.getMainFieldId(), "1");
+					assignmentBServiceTerms(bills, null, null, null, null, null, bServiceTerms, item.getMainFieldCode(), "1");
+					assignmentBServiceTerms(bills, null, null, null, null, null, bServiceTerms, item.getMainFieldCname(), "1");
+					assignmentBServiceTerms(bills, null, null, null, null, null, bServiceTerms, item.getMainFieldEname(), "1");
+				}
+			} else if ("成交方式".equals(item.getQueryType())) {
+				bTradeModes = bTradeModesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bTradeModes != null) {
+					assignmentBTradeModes(bills, null, null, null, null, null, bTradeModes, item.getMainFieldId(), "1");
+					assignmentBTradeModes(bills, null, null, null, null, null, bTradeModes, item.getMainFieldCode(), "1");
+					assignmentBTradeModes(bills, null, null, null, null, null, bTradeModes, item.getMainFieldCname(), "1");
+					assignmentBTradeModes(bills, null, null, null, null, null, bTradeModes, item.getMainFieldEname(), "1");
+				}
+			} else if ("航线".equals(item.getQueryType())) {
+				bLines = bLinesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bLines != null) {
+					assignmentBLines(bills, null, null, null, null, null, bLines, item.getMainFieldId(), "1");
+					assignmentBLines(bills, null, null, null, null, null, bLines, item.getMainFieldCode(), "1");
+					assignmentBLines(bills, null, null, null, null, null, bLines, item.getMainFieldCname(), "1");
+					assignmentBLines(bills, null, null, null, null, null, bLines, item.getMainFieldEname(), "1");
+				}
+			} else if ("货物".equals(item.getQueryType())) {
+				bCommodity = bCommodityService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCommodity != null) {
+					assignmentBCommodity(bills, null, null, null, null, null, bCommodity, item.getMainFieldId(), "1");
+					assignmentBCommodity(bills, null, null, null, null, null, bCommodity, item.getMainFieldCode(), "1");
+					assignmentBCommodity(bills, null, null, null, null, null, bCommodity, item.getMainFieldCname(), "1");
+					assignmentBCommodity(bills, null, null, null, null, null, bCommodity, item.getMainFieldEname(), "1");
+				}
+			} else if ("字典".equals(item.getQueryType())) {
+				Field fieldId = bills.getClass().getDeclaredField(item.getField());
+				fieldId.setAccessible(true); // 使私有字段可访问
+				fieldId.set(bills, item.getFieldValueNew());
 			}
-			bills.setAmendsList(amendsList);
+		} else {
+			Field fieldId = bills.getClass().getDeclaredField(item.getField());
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, item.getFieldValueNew());
+		}
+		//判断明细数据是否为空
+		if (!amendsList.isEmpty()) {
+			List<Amends> amends = updateAmends(amendsList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			bills.setAmendsList(amends);
 		}
 		if (item.getSurface().contains("FeeCenter") && !feeCenterList.isEmpty()) {
-			for (FeeCenter feeCenter : feeCenterList) {
-				Field fieldFeeCenter = feeCenter.getClass().getDeclaredField(item.getField());
-				fieldFeeCenter.setAccessible(true); // 使私有字段可访问
-				fieldFeeCenter.set(feeCenter, item.getFieldValueNew());
-			}
-			bills.setFeeCenterListD(feeCenterList);
+			List<FeeCenter> feeCenters = updateFeeCenter(feeCenterList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			bills.setFeeCenterListD(feeCenters);
 		}
 		if (item.getSurface().contains("FinAccBills") && !finAccBillsList.isEmpty()) {
-			for (FinAccBills accBills : finAccBillsList) {
-				Field fieldFinAccBills = accBills.getClass().getDeclaredField(item.getField());
-				fieldFinAccBills.setAccessible(true); // 使私有字段可访问
-				fieldFinAccBills.set(accBills, item.getFieldValueNew());
-			}
-			bills.setFinAccBillsList(finAccBillsList);
+			List<FinAccBills> finAccBills = updateFinAccBills(finAccBillsList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			bills.setFinAccBillsList(finAccBills);
 		}
 		return bills;
 	}
 
+	/**
+	 *  修改空运进出口中字段值
+	 * @param amendsList 空运进出口数据
+	 * @param item 修改数据
+	 */
 	private AeaBills updateAeaBills(AeaBills aeaBills, List<Amends> amendsList, List<FeeCenter> feeCenterList, List<FinAccBills> finAccBillsList, UpdateItem item) throws Exception {
+		BCorps bCorps = null;
+		BPorts bPorts = null;
+		BCountrys bCountrys = null;
+		BVessels bVessels = null;
+		BPackages bPackages = null;
+		BUnits bUnits = null;
+		BFees bFees = null;
+		BCntrTypes bCntrTypes = null;
+		BServiceTerms bServiceTerms = null;
+		BTradeModes bTradeModes = null;
+		BLines bLines = null;
+		BCommodity bCommodity = null;
+		//判断字段值类型 除选择器类型以外直接修改
+		if ("选择器".equals(item.getFieldValueType())) {
+			//判断查询类型 获取对应基础资料信息并赋值
+			if ("客户".equals(item.getQueryType())) {
+				bCorps = bCorpsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCorps != null) {
+					assignmentCorps(null, aeaBills, null, null, null, null, bCorps, item.getMainFieldId(), "1");
+					assignmentCorps(null, aeaBills, null, null, null, null, bCorps, item.getMainFieldCode(), "1");
+					assignmentCorps(null, aeaBills, null, null, null, null, bCorps, item.getMainFieldCname(), "1");
+					assignmentCorps(null, aeaBills, null, null, null, null, bCorps, item.getMainFieldEname(), "1");
+				}
+			} else if ("港口".equals(item.getQueryType())) {
+				bPorts = bPortsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bPorts != null) {
+					assignmentBPorts(null, aeaBills, null, null, null, null, bPorts, item.getMainFieldId(), "1");
+					assignmentBPorts(null, aeaBills, null, null, null, null, bPorts, item.getMainFieldCode(), "1");
+					assignmentBPorts(null, aeaBills, null, null, null, null, bPorts, item.getMainFieldCname(), "1");
+					assignmentBPorts(null, aeaBills, null, null, null, null, bPorts, item.getMainFieldEname(), "1");
+				}
+			} else if ("国家".equals(item.getQueryType())) {
+				bCountrys = bCountrysService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCountrys != null) {
+					assignmentBCountrys(null, aeaBills, null, null, null, null, bCountrys, item.getMainFieldId(), "1");
+					assignmentBCountrys(null, aeaBills, null, null, null, null, bCountrys, item.getMainFieldCode(), "1");
+					assignmentBCountrys(null, aeaBills, null, null, null, null, bCountrys, item.getMainFieldCname(), "1");
+					assignmentBCountrys(null, aeaBills, null, null, null, null, bCountrys, item.getMainFieldEname(), "1");
+				}
+			} else if ("船名".equals(item.getQueryType())) {
+				bVessels = bVesselsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bVessels != null) {
+					assignmentBVessels(null, aeaBills, null, null, null, null, bVessels, item.getMainFieldId(), "1");
+					assignmentBVessels(null, aeaBills, null, null, null, null, bVessels, item.getMainFieldCode(), "1");
+					assignmentBVessels(null, aeaBills, null, null, null, null, bVessels, item.getMainFieldCname(), "1");
+					assignmentBVessels(null, aeaBills, null, null, null, null, bVessels, item.getMainFieldEname(), "1");
+				}
+			} else if ("包装".equals(item.getQueryType())) {
+				bPackages = bPackagesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bPackages != null) {
+					assignmentBPackages(null, aeaBills, null, null, null, null, bPackages, item.getMainFieldId(), "1");
+					assignmentBPackages(null, aeaBills, null, null, null, null, bPackages, item.getMainFieldCode(), "1");
+					assignmentBPackages(null, aeaBills, null, null, null, null, bPackages, item.getMainFieldCname(), "1");
+					assignmentBPackages(null, aeaBills, null, null, null, null, bPackages, item.getMainFieldEname(), "1");
+				}
+			} else if ("单位".equals(item.getQueryType())) {
+				bUnits = bUnitsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bUnits != null) {
+					assignmentBUnits(null, aeaBills, null, null, null, null, bUnits, item.getMainFieldId(), "1");
+					assignmentBUnits(null, aeaBills, null, null, null, null, bUnits, item.getMainFieldCode(), "1");
+					assignmentBUnits(null, aeaBills, null, null, null, null, bUnits, item.getMainFieldCname(), "1");
+					assignmentBUnits(null, aeaBills, null, null, null, null, bUnits, item.getMainFieldEname(), "1");
+				}
+			} else if ("费用".equals(item.getQueryType())) {
+				bFees = bFeesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bFees != null) {
+					assignmentBFees(null, aeaBills, null, null, null, null, bFees, item.getMainFieldId(), "1");
+					assignmentBFees(null, aeaBills, null, null, null, null, bFees, item.getMainFieldCode(), "1");
+					assignmentBFees(null, aeaBills, null, null, null, null, bFees, item.getMainFieldCname(), "1");
+					assignmentBFees(null, aeaBills, null, null, null, null, bFees, item.getMainFieldEname(), "1");
+				}
+			} else if ("箱型".equals(item.getQueryType())) {
+				bCntrTypes = bCntrTypesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCntrTypes != null) {
+					assignmentBCntrTypes(null, aeaBills, null, null, null, null, bCntrTypes, item.getMainFieldId(), "1");
+					assignmentBCntrTypes(null, aeaBills, null, null, null, null, bCntrTypes, item.getMainFieldCode(), "1");
+					assignmentBCntrTypes(null, aeaBills, null, null, null, null, bCntrTypes, item.getMainFieldCname(), "1");
+					assignmentBCntrTypes(null, aeaBills, null, null, null, null, bCntrTypes, item.getMainFieldEname(), "1");
+				}
+			} else if ("服务条款".equals(item.getQueryType())) {
+				bServiceTerms = bServiceTermsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bServiceTerms != null) {
+					assignmentBServiceTerms(null, aeaBills, null, null, null, null, bServiceTerms, item.getMainFieldId(), "1");
+					assignmentBServiceTerms(null, aeaBills, null, null, null, null, bServiceTerms, item.getMainFieldCode(), "1");
+					assignmentBServiceTerms(null, aeaBills, null, null, null, null, bServiceTerms, item.getMainFieldCname(), "1");
+					assignmentBServiceTerms(null, aeaBills, null, null, null, null, bServiceTerms, item.getMainFieldEname(), "1");
+				}
+			} else if ("成交方式".equals(item.getQueryType())) {
+				bTradeModes = bTradeModesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bTradeModes != null) {
+					assignmentBTradeModes(null, aeaBills, null, null, null, null, bTradeModes, item.getMainFieldId(), "1");
+					assignmentBTradeModes(null, aeaBills, null, null, null, null, bTradeModes, item.getMainFieldCode(), "1");
+					assignmentBTradeModes(null, aeaBills, null, null, null, null, bTradeModes, item.getMainFieldCname(), "1");
+					assignmentBTradeModes(null, aeaBills, null, null, null, null, bTradeModes, item.getMainFieldEname(), "1");
+				}
+			} else if ("航线".equals(item.getQueryType())) {
+				bLines = bLinesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bLines != null) {
+					assignmentBLines(null, aeaBills, null, null, null, null, bLines, item.getMainFieldId(), "1");
+					assignmentBLines(null, aeaBills, null, null, null, null, bLines, item.getMainFieldCode(), "1");
+					assignmentBLines(null, aeaBills, null, null, null, null, bLines, item.getMainFieldCname(), "1");
+					assignmentBLines(null, aeaBills, null, null, null, null, bLines, item.getMainFieldEname(), "1");
+				}
+			} else if ("货物".equals(item.getQueryType())) {
+				bCommodity = bCommodityService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCommodity != null) {
+					assignmentBCommodity(null, aeaBills, null, null, null, null, bCommodity, item.getMainFieldId(), "1");
+					assignmentBCommodity(null, aeaBills, null, null, null, null, bCommodity, item.getMainFieldCode(), "1");
+					assignmentBCommodity(null, aeaBills, null, null, null, null, bCommodity, item.getMainFieldCname(), "1");
+					assignmentBCommodity(null, aeaBills, null, null, null, null, bCommodity, item.getMainFieldEname(), "1");
+				}
+			} else if ("字典".equals(item.getQueryType())) {
+				Field fieldId = aeaBills.getClass().getDeclaredField(item.getField());
+				fieldId.setAccessible(true); // 使私有字段可访问
+				fieldId.set(aeaBills, item.getFieldValueNew());
+			}
+		} else {
+			Field fieldId = aeaBills.getClass().getDeclaredField(item.getField());
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, item.getFieldValueNew());
+		}
+		//判断明细数据是否为空
+		if (!amendsList.isEmpty()) {
+			List<Amends> amends = updateAmends(amendsList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			aeaBills.setAmendsList(amends);
+		}
+		if (item.getSurface().contains("FeeCenter") && !feeCenterList.isEmpty()) {
+			List<FeeCenter> feeCenters = updateFeeCenter(feeCenterList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			aeaBills.setFeeCenterListD(feeCenters);
+		}
+		if (item.getSurface().contains("FinAccBills") && !finAccBillsList.isEmpty()) {
+			List<FinAccBills> finAccBills = updateFinAccBills(finAccBillsList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			aeaBills.setFinAccBillsList(finAccBills);
+		}
 		return aeaBills;
 	}
 
+	/**
+	 *  修改报关中字段值
+	 * @param amendsList 报关数据
+	 * @param item 修改数据
+	 */
 	private CustomsDeclaration updateCustomsDeclaration(CustomsDeclaration customsDeclaration, List<Amends> amendsList, List<FeeCenter> feeCenterList, List<FinAccBills> finAccBillsList, UpdateItem item) throws Exception {
+		BCorps bCorps = null;
+		BPorts bPorts = null;
+		BCountrys bCountrys = null;
+		BVessels bVessels = null;
+		BPackages bPackages = null;
+		BUnits bUnits = null;
+		BFees bFees = null;
+		BCntrTypes bCntrTypes = null;
+		BServiceTerms bServiceTerms = null;
+		BTradeModes bTradeModes = null;
+		BLines bLines = null;
+		BCommodity bCommodity = null;
+		//判断字段值类型 除选择器类型以外直接修改
+		if ("选择器".equals(item.getFieldValueType())) {
+			//判断查询类型 获取对应基础资料信息并赋值
+			if ("客户".equals(item.getQueryType())) {
+				bCorps = bCorpsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCorps != null) {
+					assignmentCorps(null, null, customsDeclaration, null, null, null, bCorps, item.getMainFieldId(), "1");
+					assignmentCorps(null, null, customsDeclaration, null, null, null, bCorps, item.getMainFieldCode(), "1");
+					assignmentCorps(null, null, customsDeclaration, null, null, null, bCorps, item.getMainFieldCname(), "1");
+					assignmentCorps(null, null, customsDeclaration, null, null, null, bCorps, item.getMainFieldEname(), "1");
+				}
+			} else if ("港口".equals(item.getQueryType())) {
+				bPorts = bPortsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bPorts != null) {
+					assignmentBPorts(null, null, customsDeclaration, null, null, null, bPorts, item.getMainFieldId(), "1");
+					assignmentBPorts(null, null, customsDeclaration, null, null, null, bPorts, item.getMainFieldCode(), "1");
+					assignmentBPorts(null, null, customsDeclaration, null, null, null, bPorts, item.getMainFieldCname(), "1");
+					assignmentBPorts(null, null, customsDeclaration, null, null, null, bPorts, item.getMainFieldEname(), "1");
+				}
+			} else if ("国家".equals(item.getQueryType())) {
+				bCountrys = bCountrysService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCountrys != null) {
+					assignmentBCountrys(null, null, customsDeclaration, null, null, null, bCountrys, item.getMainFieldId(), "1");
+					assignmentBCountrys(null, null, customsDeclaration, null, null, null, bCountrys, item.getMainFieldCode(), "1");
+					assignmentBCountrys(null, null, customsDeclaration, null, null, null, bCountrys, item.getMainFieldCname(), "1");
+					assignmentBCountrys(null, null, customsDeclaration, null, null, null, bCountrys, item.getMainFieldEname(), "1");
+				}
+			} else if ("船名".equals(item.getQueryType())) {
+				bVessels = bVesselsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bVessels != null) {
+					assignmentBVessels(null, null, customsDeclaration, null, null, null, bVessels, item.getMainFieldId(), "1");
+					assignmentBVessels(null, null, customsDeclaration, null, null, null, bVessels, item.getMainFieldCode(), "1");
+					assignmentBVessels(null, null, customsDeclaration, null, null, null, bVessels, item.getMainFieldCname(), "1");
+					assignmentBVessels(null, null, customsDeclaration, null, null, null, bVessels, item.getMainFieldEname(), "1");
+				}
+			} else if ("包装".equals(item.getQueryType())) {
+				bPackages = bPackagesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bPackages != null) {
+					assignmentBPackages(null, null, customsDeclaration, null, null, null, bPackages, item.getMainFieldId(), "1");
+					assignmentBPackages(null, null, customsDeclaration, null, null, null, bPackages, item.getMainFieldCode(), "1");
+					assignmentBPackages(null, null, customsDeclaration, null, null, null, bPackages, item.getMainFieldCname(), "1");
+					assignmentBPackages(null, null, customsDeclaration, null, null, null, bPackages, item.getMainFieldEname(), "1");
+				}
+			} else if ("单位".equals(item.getQueryType())) {
+				bUnits = bUnitsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bUnits != null) {
+					assignmentBUnits(null, null, customsDeclaration, null, null, null, bUnits, item.getMainFieldId(), "1");
+					assignmentBUnits(null, null, customsDeclaration, null, null, null, bUnits, item.getMainFieldCode(), "1");
+					assignmentBUnits(null, null, customsDeclaration, null, null, null, bUnits, item.getMainFieldCname(), "1");
+					assignmentBUnits(null, null, customsDeclaration, null, null, null, bUnits, item.getMainFieldEname(), "1");
+				}
+			} else if ("费用".equals(item.getQueryType())) {
+				bFees = bFeesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bFees != null) {
+					assignmentBFees(null, null, customsDeclaration, null, null, null, bFees, item.getMainFieldId(), "1");
+					assignmentBFees(null, null, customsDeclaration, null, null, null, bFees, item.getMainFieldCode(), "1");
+					assignmentBFees(null, null, customsDeclaration, null, null, null, bFees, item.getMainFieldCname(), "1");
+					assignmentBFees(null, null, customsDeclaration, null, null, null, bFees, item.getMainFieldEname(), "1");
+				}
+			} else if ("箱型".equals(item.getQueryType())) {
+				bCntrTypes = bCntrTypesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCntrTypes != null) {
+					assignmentBCntrTypes(null, null, customsDeclaration, null, null, null, bCntrTypes, item.getMainFieldId(), "1");
+					assignmentBCntrTypes(null, null, customsDeclaration, null, null, null, bCntrTypes, item.getMainFieldCode(), "1");
+					assignmentBCntrTypes(null, null, customsDeclaration, null, null, null, bCntrTypes, item.getMainFieldCname(), "1");
+					assignmentBCntrTypes(null, null, customsDeclaration, null, null, null, bCntrTypes, item.getMainFieldEname(), "1");
+				}
+			} else if ("服务条款".equals(item.getQueryType())) {
+				bServiceTerms = bServiceTermsService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bServiceTerms != null) {
+					assignmentBServiceTerms(null, null, customsDeclaration, null, null, null, bServiceTerms, item.getMainFieldId(), "1");
+					assignmentBServiceTerms(null, null, customsDeclaration, null, null, null, bServiceTerms, item.getMainFieldCode(), "1");
+					assignmentBServiceTerms(null, null, customsDeclaration, null, null, null, bServiceTerms, item.getMainFieldCname(), "1");
+					assignmentBServiceTerms(null, null, customsDeclaration, null, null, null, bServiceTerms, item.getMainFieldEname(), "1");
+				}
+			} else if ("成交方式".equals(item.getQueryType())) {
+				bTradeModes = bTradeModesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bTradeModes != null) {
+					assignmentBTradeModes(null, null, customsDeclaration, null, null, null, bTradeModes, item.getMainFieldId(), "1");
+					assignmentBTradeModes(null, null, customsDeclaration, null, null, null, bTradeModes, item.getMainFieldCode(), "1");
+					assignmentBTradeModes(null, null, customsDeclaration, null, null, null, bTradeModes, item.getMainFieldCname(), "1");
+					assignmentBTradeModes(null, null, customsDeclaration, null, null, null, bTradeModes, item.getMainFieldEname(), "1");
+				}
+			} else if ("航线".equals(item.getQueryType())) {
+				bLines = bLinesService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bLines != null) {
+					assignmentBLines(null, null, customsDeclaration, null, null, null, bLines, item.getMainFieldId(), "1");
+					assignmentBLines(null, null, customsDeclaration, null, null, null, bLines, item.getMainFieldCode(), "1");
+					assignmentBLines(null, null, customsDeclaration, null, null, null, bLines, item.getMainFieldCname(), "1");
+					assignmentBLines(null, null, customsDeclaration, null, null, null, bLines, item.getMainFieldEname(), "1");
+				}
+			} else if ("货物".equals(item.getQueryType())) {
+				bCommodity = bCommodityService.getById(Long.parseLong(item.getFieldValueNew()));
+				if (bCommodity != null) {
+					assignmentBCommodity(null, null, customsDeclaration, null, null, null, bCommodity, item.getMainFieldId(), "1");
+					assignmentBCommodity(null, null, customsDeclaration, null, null, null, bCommodity, item.getMainFieldCode(), "1");
+					assignmentBCommodity(null, null, customsDeclaration, null, null, null, bCommodity, item.getMainFieldCname(), "1");
+					assignmentBCommodity(null, null, customsDeclaration, null, null, null, bCommodity, item.getMainFieldEname(), "1");
+				}
+			} else if ("字典".equals(item.getQueryType())) {
+				Field fieldId = customsDeclaration.getClass().getDeclaredField(item.getField());
+				fieldId.setAccessible(true); // 使私有字段可访问
+				fieldId.set(customsDeclaration, item.getFieldValueNew());
+			}
+		} else {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(item.getField());
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, item.getFieldValueNew());
+		}
+		//判断明细数据是否为空
+		if (!amendsList.isEmpty()) {
+			List<Amends> amends = updateAmends(amendsList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			customsDeclaration.setAmendsList(amends);
+		}
+		if (item.getSurface().contains("FeeCenter") && !feeCenterList.isEmpty()) {
+			List<FeeCenter> feeCenters = updateFeeCenter(feeCenterList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			customsDeclaration.setFeeCenterListD(feeCenters);
+		}
+		if (item.getSurface().contains("FinAccBills") && !finAccBillsList.isEmpty()) {
+			List<FinAccBills> finAccBills = updateFinAccBills(finAccBillsList, item, bCorps, bPorts, bCountrys, bVessels,
+				bPackages, bUnits, bFees, bCntrTypes, bServiceTerms, bTradeModes, bLines, bCommodity);
+			customsDeclaration.setFinAccBillsList(finAccBills);
+		}
 		return customsDeclaration;
 	}
 
+	/**
+	 *  修改Amends中字段值
+	 * @param amendsList Amends数据
+	 * @param item 修改数据
+	 */
+	private List<Amends> updateAmends(List<Amends> amendsList, UpdateItem item, BCorps bCorps,
+									  BPorts bPorts, BCountrys bCountrys, BVessels bVessels, BPackages bPackages,
+									  BUnits bUnits, BFees bFees, BCntrTypes bCntrTypes, BServiceTerms bServiceTerms,
+									  BTradeModes bTradeModes, BLines bLines, BCommodity bCommodity) throws Exception {
+		for (Amends amends : amendsList) {
+			if ("选择器".equals(item.getFieldValueType())) {
+				if ("客户".equals(item.getQueryType())) {
+					if (bCorps != null) {
+						assignmentCorps(null, null, null, amends, null, null, bCorps, item.getAmendsFieldId(), "4");
+						assignmentCorps(null, null, null, amends, null, null, bCorps, item.getAmendsFieldCode(), "4");
+						assignmentCorps(null, null, null, amends, null, null, bCorps, item.getAmendsFieldCname(), "4");
+						assignmentCorps(null, null, null, amends, null, null, bCorps, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("港口".equals(item.getQueryType())) {
+					if (bPorts != null) {
+						assignmentBPorts(null, null, null, amends, null, null, bPorts, item.getAmendsFieldId(), "4");
+						assignmentBPorts(null, null, null, amends, null, null, bPorts, item.getAmendsFieldCode(), "4");
+						assignmentBPorts(null, null, null, amends, null, null, bPorts, item.getAmendsFieldCname(), "4");
+						assignmentBPorts(null, null, null, amends, null, null, bPorts, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("国家".equals(item.getQueryType())) {
+					if (bCountrys != null) {
+						assignmentBCountrys(null, null, null, amends, null, null, bCountrys, item.getAmendsFieldId(), "4");
+						assignmentBCountrys(null, null, null, amends, null, null, bCountrys, item.getAmendsFieldCode(), "4");
+						assignmentBCountrys(null, null, null, amends, null, null, bCountrys, item.getAmendsFieldCname(), "4");
+						assignmentBCountrys(null, null, null, amends, null, null, bCountrys, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("船名".equals(item.getQueryType())) {
+					if (bVessels != null) {
+						assignmentBVessels(null, null, null, amends, null, null, bVessels, item.getAmendsFieldId(), "4");
+						assignmentBVessels(null, null, null, amends, null, null, bVessels, item.getAmendsFieldCode(), "4");
+						assignmentBVessels(null, null, null, amends, null, null, bVessels, item.getAmendsFieldCname(), "4");
+						assignmentBVessels(null, null, null, amends, null, null, bVessels, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("包装".equals(item.getQueryType())) {
+					if (bPackages != null) {
+						assignmentBPackages(null, null, null, amends, null, null, bPackages, item.getAmendsFieldId(), "4");
+						assignmentBPackages(null, null, null, amends, null, null, bPackages, item.getAmendsFieldCode(), "4");
+						assignmentBPackages(null, null, null, amends, null, null, bPackages, item.getAmendsFieldCname(), "4");
+						assignmentBPackages(null, null, null, amends, null, null, bPackages, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("单位".equals(item.getQueryType())) {
+					if (bUnits != null) {
+						assignmentBUnits(null, null, null, amends, null, null, bUnits, item.getAmendsFieldId(), "4");
+						assignmentBUnits(null, null, null, amends, null, null, bUnits, item.getAmendsFieldCode(), "4");
+						assignmentBUnits(null, null, null, amends, null, null, bUnits, item.getAmendsFieldCname(), "4");
+						assignmentBUnits(null, null, null, amends, null, null, bUnits, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("费用".equals(item.getQueryType())) {
+					if (bFees != null) {
+						assignmentBFees(null, null, null, amends, null, null, bFees, item.getAmendsFieldId(), "4");
+						assignmentBFees(null, null, null, amends, null, null, bFees, item.getAmendsFieldCode(), "4");
+						assignmentBFees(null, null, null, amends, null, null, bFees, item.getAmendsFieldCname(), "4");
+						assignmentBFees(null, null, null, amends, null, null, bFees, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("箱型".equals(item.getQueryType())) {
+					if (bCntrTypes != null) {
+						assignmentBCntrTypes(null, null, null, amends, null, null, bCntrTypes, item.getAmendsFieldId(), "4");
+						assignmentBCntrTypes(null, null, null, amends, null, null, bCntrTypes, item.getAmendsFieldCode(), "4");
+						assignmentBCntrTypes(null, null, null, amends, null, null, bCntrTypes, item.getAmendsFieldCname(), "4");
+						assignmentBCntrTypes(null, null, null, amends, null, null, bCntrTypes, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("服务条款".equals(item.getQueryType())) {
+					if (bServiceTerms != null) {
+						assignmentBServiceTerms(null, null, null, amends, null, null, bServiceTerms, item.getAmendsFieldId(), "4");
+						assignmentBServiceTerms(null, null, null, amends, null, null, bServiceTerms, item.getAmendsFieldCode(), "4");
+						assignmentBServiceTerms(null, null, null, amends, null, null, bServiceTerms, item.getAmendsFieldCname(), "4");
+						assignmentBServiceTerms(null, null, null, amends, null, null, bServiceTerms, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("成交方式".equals(item.getQueryType())) {
+					if (bTradeModes != null) {
+						assignmentBTradeModes(null, null, null, amends, null, null, bTradeModes, item.getAmendsFieldId(), "4");
+						assignmentBTradeModes(null, null, null, amends, null, null, bTradeModes, item.getAmendsFieldCode(), "4");
+						assignmentBTradeModes(null, null, null, amends, null, null, bTradeModes, item.getAmendsFieldCname(), "4");
+						assignmentBTradeModes(null, null, null, amends, null, null, bTradeModes, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("航线".equals(item.getQueryType())) {
+					if (bLines != null) {
+						assignmentBLines(null, null, null, amends, null, null, bLines, item.getAmendsFieldId(), "4");
+						assignmentBLines(null, null, null, amends, null, null, bLines, item.getAmendsFieldCode(), "4");
+						assignmentBLines(null, null, null, amends, null, null, bLines, item.getAmendsFieldCname(), "4");
+						assignmentBLines(null, null, null, amends, null, null, bLines, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("货物".equals(item.getQueryType())) {
+					if (bCommodity != null) {
+						assignmentBCommodity(null, null, null, amends, null, null, bCommodity, item.getAmendsFieldId(), "4");
+						assignmentBCommodity(null, null, null, amends, null, null, bCommodity, item.getAmendsFieldCode(), "4");
+						assignmentBCommodity(null, null, null, amends, null, null, bCommodity, item.getAmendsFieldCname(), "4");
+						assignmentBCommodity(null, null, null, amends, null, null, bCommodity, item.getAmendsFieldEname(), "4");
+					}
+				} else if ("字典".equals(item.getQueryType())) {
+					Field fieldId = amends.getClass().getDeclaredField(item.getField());
+					fieldId.setAccessible(true); // 使私有字段可访问
+					fieldId.set(amends, item.getFieldValueNew());
+				}
+			} else {
+				Field fieldId = amends.getClass().getDeclaredField(item.getAmendsFieldCname());
+				fieldId.setAccessible(true); // 使私有字段可访问
+				fieldId.set(amends, item.getFieldValueNew());
+			}
+		}
+		return amendsList;
+	}
+	/**
+	 *  修改费用明细中字段值
+	 * @param feeCenterList 费用数据
+	 * @param item 修改数据
+	 */
+	private List<FeeCenter> updateFeeCenter(List<FeeCenter> feeCenterList, UpdateItem item, BCorps bCorps,
+											BPorts bPorts, BCountrys bCountrys, BVessels bVessels, BPackages bPackages,
+											BUnits bUnits, BFees bFees, BCntrTypes bCntrTypes, BServiceTerms bServiceTerms,
+											BTradeModes bTradeModes, BLines bLines, BCommodity bCommodity) throws Exception {
+		for (FeeCenter feeCenter : feeCenterList) {
+			if ("选择器".equals(item.getFieldValueType())) {
+				if ("客户".equals(item.getQueryType())) {
+					if (bCorps != null) {
+						assignmentCorps(null, null, null, null, null, feeCenter, bCorps, item.getFeeCenterFieldId(), "6");
+						assignmentCorps(null, null, null, null, null, feeCenter, bCorps, item.getFeeCenterFieldCode(), "6");
+						assignmentCorps(null, null, null, null, null, feeCenter, bCorps, item.getFeeCenterFieldCname(), "6");
+						assignmentCorps(null, null, null, null, null, feeCenter, bCorps, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("港口".equals(item.getQueryType())) {
+					if (bPorts != null) {
+						assignmentBPorts(null, null, null, null, null, feeCenter, bPorts, item.getFeeCenterFieldId(), "6");
+						assignmentBPorts(null, null, null, null, null, feeCenter, bPorts, item.getFeeCenterFieldCode(), "6");
+						assignmentBPorts(null, null, null, null, null, feeCenter, bPorts, item.getFeeCenterFieldCname(), "6");
+						assignmentBPorts(null, null, null, null, null, feeCenter, bPorts, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("国家".equals(item.getQueryType())) {
+					if (bCountrys != null) {
+						assignmentBCountrys(null, null, null, null, null, feeCenter, bCountrys, item.getFeeCenterFieldId(), "6");
+						assignmentBCountrys(null, null, null, null, null, feeCenter, bCountrys, item.getFeeCenterFieldCode(), "6");
+						assignmentBCountrys(null, null, null, null, null, feeCenter, bCountrys, item.getFeeCenterFieldCname(), "6");
+						assignmentBCountrys(null, null, null, null, null, feeCenter, bCountrys, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("船名".equals(item.getQueryType())) {
+					if (bVessels != null) {
+						assignmentBVessels(null, null, null, null, null, feeCenter, bVessels, item.getFeeCenterFieldId(), "6");
+						assignmentBVessels(null, null, null, null, null, feeCenter, bVessels, item.getFeeCenterFieldCode(), "6");
+						assignmentBVessels(null, null, null, null, null, feeCenter, bVessels, item.getFeeCenterFieldCname(), "6");
+						assignmentBVessels(null, null, null, null, null, feeCenter, bVessels, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("包装".equals(item.getQueryType())) {
+					if (bPackages != null) {
+						assignmentBPackages(null, null, null, null, null, feeCenter, bPackages, item.getFeeCenterFieldId(), "6");
+						assignmentBPackages(null, null, null, null, null, feeCenter, bPackages, item.getFeeCenterFieldCode(), "6");
+						assignmentBPackages(null, null, null, null, null, feeCenter, bPackages, item.getFeeCenterFieldCname(), "6");
+						assignmentBPackages(null, null, null, null, null, feeCenter, bPackages, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("单位".equals(item.getQueryType())) {
+					if (bUnits != null) {
+						assignmentBUnits(null, null, null, null, null, feeCenter, bUnits, item.getFeeCenterFieldId(), "6");
+						assignmentBUnits(null, null, null, null, null, feeCenter, bUnits, item.getFeeCenterFieldCode(), "6");
+						assignmentBUnits(null, null, null, null, null, feeCenter, bUnits, item.getFeeCenterFieldCname(), "6");
+						assignmentBUnits(null, null, null, null, null, feeCenter, bUnits, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("费用".equals(item.getQueryType())) {
+					if (bFees != null) {
+						assignmentBFees(null, null, null, null, null, feeCenter, bFees, item.getFeeCenterFieldId(), "6");
+						assignmentBFees(null, null, null, null, null, feeCenter, bFees, item.getFeeCenterFieldCode(), "6");
+						assignmentBFees(null, null, null, null, null, feeCenter, bFees, item.getFeeCenterFieldCname(), "6");
+						assignmentBFees(null, null, null, null, null, feeCenter, bFees, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("箱型".equals(item.getQueryType())) {
+					if (bCntrTypes != null) {
+						assignmentBCntrTypes(null, null, null, null, null, feeCenter, bCntrTypes, item.getFeeCenterFieldId(), "6");
+						assignmentBCntrTypes(null, null, null, null, null, feeCenter, bCntrTypes, item.getFeeCenterFieldCode(), "6");
+						assignmentBCntrTypes(null, null, null, null, null, feeCenter, bCntrTypes, item.getFeeCenterFieldCname(), "6");
+						assignmentBCntrTypes(null, null, null, null, null, feeCenter, bCntrTypes, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("服务条款".equals(item.getQueryType())) {
+					if (bServiceTerms != null) {
+						assignmentBServiceTerms(null, null, null, null, null, feeCenter, bServiceTerms, item.getFeeCenterFieldId(), "6");
+						assignmentBServiceTerms(null, null, null, null, null, feeCenter, bServiceTerms, item.getFeeCenterFieldCode(), "6");
+						assignmentBServiceTerms(null, null, null, null, null, feeCenter, bServiceTerms, item.getFeeCenterFieldCname(), "6");
+						assignmentBServiceTerms(null, null, null, null, null, feeCenter, bServiceTerms, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("成交方式".equals(item.getQueryType())) {
+					if (bTradeModes != null) {
+						assignmentBTradeModes(null, null, null, null, null, feeCenter, bTradeModes, item.getFeeCenterFieldId(), "6");
+						assignmentBTradeModes(null, null, null, null, null, feeCenter, bTradeModes, item.getFeeCenterFieldCode(), "6");
+						assignmentBTradeModes(null, null, null, null, null, feeCenter, bTradeModes, item.getFeeCenterFieldCname(), "6");
+						assignmentBTradeModes(null, null, null, null, null, feeCenter, bTradeModes, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("航线".equals(item.getQueryType())) {
+					if (bLines != null) {
+						assignmentBLines(null, null, null, null, null, feeCenter, bLines, item.getFeeCenterFieldId(), "6");
+						assignmentBLines(null, null, null, null, null, feeCenter, bLines, item.getFeeCenterFieldCode(), "6");
+						assignmentBLines(null, null, null, null, null, feeCenter, bLines, item.getFeeCenterFieldCname(), "6");
+						assignmentBLines(null, null, null, null, null, feeCenter, bLines, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("货物".equals(item.getQueryType())) {
+					if (bCommodity != null) {
+						assignmentBCommodity(null, null, null, null, null, feeCenter, bCommodity, item.getFeeCenterFieldId(), "6");
+						assignmentBCommodity(null, null, null, null, null, feeCenter, bCommodity, item.getFeeCenterFieldCode(), "6");
+						assignmentBCommodity(null, null, null, null, null, feeCenter, bCommodity, item.getFeeCenterFieldCname(), "6");
+						assignmentBCommodity(null, null, null, null, null, feeCenter, bCommodity, item.getFeeCenterFieldEname(), "6");
+					}
+				} else if ("字典".equals(item.getQueryType())) {
+					Field fieldId = feeCenter.getClass().getDeclaredField(item.getField());
+					fieldId.setAccessible(true); // 使私有字段可访问
+					fieldId.set(feeCenter, item.getFieldValueNew());
+				}
+			} else {
+				Field fieldId = feeCenter.getClass().getDeclaredField(item.getFeeCenterFieldCname());
+				fieldId.setAccessible(true); // 使私有字段可访问
+				fieldId.set(feeCenter, item.getFieldValueNew());
+			}
+		}
+		return feeCenterList;
+	}
+
+	/**
+	 *  修改账单明细中字段值
+	 * @param finAccBillsList 账单数据
+	 * @param item 修改数据
+	 */
+	private List<FinAccBills> updateFinAccBills(List<FinAccBills> finAccBillsList, UpdateItem item, BCorps bCorps,
+												BPorts bPorts, BCountrys bCountrys, BVessels bVessels, BPackages bPackages,
+												BUnits bUnits, BFees bFees, BCntrTypes bCntrTypes, BServiceTerms bServiceTerms,
+												BTradeModes bTradeModes, BLines bLines, BCommodity bCommodity) throws Exception {
+
+		for (FinAccBills accBills : finAccBillsList) {
+			if ("选择器".equals(item.getFieldValueType())) {
+				if ("客户".equals(item.getQueryType())) {
+					if (bCorps != null) {
+						assignmentCorps(null, null, null, null, accBills, null, bCorps, item.getFinAccBillsFieldId(), "5");
+						assignmentCorps(null, null, null, null, accBills, null, bCorps, item.getFinAccBillsFieldCode(), "5");
+						assignmentCorps(null, null, null, null, accBills, null, bCorps, item.getFinAccBillsFieldCname(), "5");
+						assignmentCorps(null, null, null, null, accBills, null, bCorps, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("港口".equals(item.getQueryType())) {
+					if (bPorts != null) {
+						assignmentBPorts(null, null, null, null, accBills, null, bPorts, item.getFinAccBillsFieldId(), "5");
+						assignmentBPorts(null, null, null, null, accBills, null, bPorts, item.getFinAccBillsFieldCode(), "5");
+						assignmentBPorts(null, null, null, null, accBills, null, bPorts, item.getFinAccBillsFieldCname(), "5");
+						assignmentBPorts(null, null, null, null, accBills, null, bPorts, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("国家".equals(item.getQueryType())) {
+					if (bCountrys != null) {
+						assignmentBCountrys(null, null, null, null, accBills, null, bCountrys, item.getFinAccBillsFieldId(), "5");
+						assignmentBCountrys(null, null, null, null, accBills, null, bCountrys, item.getFinAccBillsFieldCode(), "5");
+						assignmentBCountrys(null, null, null, null, accBills, null, bCountrys, item.getFinAccBillsFieldCname(), "5");
+						assignmentBCountrys(null, null, null, null, accBills, null, bCountrys, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("船名".equals(item.getQueryType())) {
+					if (bVessels != null) {
+						assignmentBVessels(null, null, null, null, accBills, null, bVessels, item.getFinAccBillsFieldId(), "5");
+						assignmentBVessels(null, null, null, null, accBills, null, bVessels, item.getFinAccBillsFieldCode(), "5");
+						assignmentBVessels(null, null, null, null, accBills, null, bVessels, item.getFinAccBillsFieldCname(), "5");
+						assignmentBVessels(null, null, null, null, accBills, null, bVessels, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("包装".equals(item.getQueryType())) {
+					if (bPackages != null) {
+						assignmentBPackages(null, null, null, null, accBills, null, bPackages, item.getFinAccBillsFieldId(), "5");
+						assignmentBPackages(null, null, null, null, accBills, null, bPackages, item.getFinAccBillsFieldCode(), "5");
+						assignmentBPackages(null, null, null, null, accBills, null, bPackages, item.getFinAccBillsFieldCname(), "5");
+						assignmentBPackages(null, null, null, null, accBills, null, bPackages, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("单位".equals(item.getQueryType())) {
+					if (bUnits != null) {
+						assignmentBUnits(null, null, null, null, accBills, null, bUnits, item.getFinAccBillsFieldId(), "5");
+						assignmentBUnits(null, null, null, null, accBills, null, bUnits, item.getFinAccBillsFieldCode(), "5");
+						assignmentBUnits(null, null, null, null, accBills, null, bUnits, item.getFinAccBillsFieldCname(), "5");
+						assignmentBUnits(null, null, null, null, accBills, null, bUnits, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("费用".equals(item.getQueryType())) {
+					if (bFees != null) {
+						assignmentBFees(null, null, null, null, accBills, null, bFees, item.getFinAccBillsFieldId(), "5");
+						assignmentBFees(null, null, null, null, accBills, null, bFees, item.getFinAccBillsFieldCode(), "5");
+						assignmentBFees(null, null, null, null, accBills, null, bFees, item.getFinAccBillsFieldCname(), "5");
+						assignmentBFees(null, null, null, null, accBills, null, bFees, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("箱型".equals(item.getQueryType())) {
+					if (bCntrTypes != null) {
+						assignmentBCntrTypes(null, null, null, null, accBills, null, bCntrTypes, item.getFinAccBillsFieldId(), "5");
+						assignmentBCntrTypes(null, null, null, null, accBills, null, bCntrTypes, item.getFinAccBillsFieldCode(), "5");
+						assignmentBCntrTypes(null, null, null, null, accBills, null, bCntrTypes, item.getFinAccBillsFieldCname(), "5");
+						assignmentBCntrTypes(null, null, null, null, accBills, null, bCntrTypes, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("服务条款".equals(item.getQueryType())) {
+					if (bServiceTerms != null) {
+						assignmentBServiceTerms(null, null, null, null, accBills, null, bServiceTerms, item.getFinAccBillsFieldId(), "5");
+						assignmentBServiceTerms(null, null, null, null, accBills, null, bServiceTerms, item.getFinAccBillsFieldCode(), "5");
+						assignmentBServiceTerms(null, null, null, null, accBills, null, bServiceTerms, item.getFinAccBillsFieldCname(), "5");
+						assignmentBServiceTerms(null, null, null, null, accBills, null, bServiceTerms, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("成交方式".equals(item.getQueryType())) {
+					if (bTradeModes != null) {
+						assignmentBTradeModes(null, null, null, null, accBills, null, bTradeModes, item.getFinAccBillsFieldId(), "5");
+						assignmentBTradeModes(null, null, null, null, accBills, null, bTradeModes, item.getFinAccBillsFieldCode(), "5");
+						assignmentBTradeModes(null, null, null, null, accBills, null, bTradeModes, item.getFinAccBillsFieldCname(), "5");
+						assignmentBTradeModes(null, null, null, null, accBills, null, bTradeModes, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("航线".equals(item.getQueryType())) {
+					if (bLines != null) {
+						assignmentBLines(null, null, null, null, accBills, null, bLines, item.getFinAccBillsFieldId(), "5");
+						assignmentBLines(null, null, null, null, accBills, null, bLines, item.getFinAccBillsFieldCode(), "5");
+						assignmentBLines(null, null, null, null, accBills, null, bLines, item.getFinAccBillsFieldCname(), "5");
+						assignmentBLines(null, null, null, null, accBills, null, bLines, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("货物".equals(item.getQueryType())) {
+					if (bCommodity != null) {
+						assignmentBCommodity(null, null, null, null, accBills, null, bCommodity, item.getFinAccBillsFieldId(), "5");
+						assignmentBCommodity(null, null, null, null, accBills, null, bCommodity, item.getFinAccBillsFieldCode(), "5");
+						assignmentBCommodity(null, null, null, null, accBills, null, bCommodity, item.getFinAccBillsFieldCname(), "5");
+						assignmentBCommodity(null, null, null, null, accBills, null, bCommodity, item.getFinAccBillsFieldEname(), "5");
+					}
+				} else if ("字典".equals(item.getQueryType())) {
+					Field fieldId = accBills.getClass().getDeclaredField(item.getField());
+					fieldId.setAccessible(true); // 使私有字段可访问
+					fieldId.set(accBills, item.getFieldValueNew());
+				}
+			} else {
+				Field fieldId = accBills.getClass().getDeclaredField(item.getFinAccBillsFieldCname());
+				fieldId.setAccessible(true); // 使私有字段可访问
+				fieldId.set(accBills, item.getFieldValueNew());
+			}
+		}
+		return finAccBillsList;
+	}
+
+
+	/**
+	 * 重新赋值主表客户字段值
+	 * @param bCorps    客户
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentCorps(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+								   FinAccBills finAccBills, FeeCenter feeCenter, BCorps bCorps, String mainField,
+								   String type) throws Exception {
+		//判断要修改的表
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表港口字段值
+	 * @param bCorps    港口
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBPorts(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+									FinAccBills finAccBills, FeeCenter feeCenter, BPorts bCorps, String mainField,
+									String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表国家字段值
+	 * @param bCorps    国家
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBCountrys(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+									   FinAccBills finAccBills, FeeCenter feeCenter, BCountrys bCorps, String mainField,
+									   String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表船名字段值
+	 * @param bCorps    船名
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBVessels(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+									  FinAccBills finAccBills, FeeCenter feeCenter, BVessels bCorps, String mainField,
+									  String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表包装单位字段值
+	 * @param bCorps    包装单位
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBPackages(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+									   FinAccBills finAccBills, FeeCenter feeCenter, BPackages bCorps, String mainField,
+									   String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表计量单位字段值
+	 * @param bCorps    计量单位
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBUnits(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+									FinAccBills finAccBills, FeeCenter feeCenter, BUnits bCorps, String mainField,
+									String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表费用字段值
+	 * @param bCorps    费用
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBFees(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+								   FinAccBills finAccBills, FeeCenter feeCenter, BFees bCorps, String mainField,
+								   String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表集装箱箱型字段值
+	 * @param bCorps    集装箱箱型
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBCntrTypes(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+										FinAccBills finAccBills, FeeCenter feeCenter, BCntrTypes bCorps, String mainField,
+										String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表服务条款字段值
+	 * @param bCorps    服务条款
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBServiceTerms(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+										   FinAccBills finAccBills, FeeCenter feeCenter, BServiceTerms bCorps, String mainField,
+										   String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表贸易方式字段值
+	 * @param bCorps    贸易方式
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBTradeModes(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+										 FinAccBills finAccBills, FeeCenter feeCenter, BTradeModes bCorps, String mainField,
+										 String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表航线字段值
+	 * @param bCorps    航线
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBLines(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+									FinAccBills finAccBills, FeeCenter feeCenter, BLines bCorps, String mainField,
+									String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+	/**
+	 * 重新赋值主表货物字段值
+	 * @param bCorps    货物
+	 * @param mainField 赋值字段
+	 */
+	private Object assignmentBCommodity(Bills bills, AeaBills aeaBills, CustomsDeclaration customsDeclaration, Amends amends,
+										FinAccBills finAccBills, FeeCenter feeCenter, BCommodity bCorps, String mainField,
+										String type) throws Exception {
+		if ("1".equals(type)) {
+			Field fieldId = bills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(bills, bCorps.getId());
+			return bills;
+		} else if ("2".equals(type)) {
+			Field fieldId = aeaBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(aeaBills, bCorps.getId());
+			return aeaBills;
+		} else if ("3".equals(type)) {
+			Field fieldId = customsDeclaration.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(customsDeclaration, bCorps.getId());
+			return customsDeclaration;
+		} else if ("4".equals(type)) {
+			Field fieldId = amends.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(amends, bCorps.getId());
+			return amends;
+		} else if ("5".equals(type)) {
+			Field fieldId = finAccBills.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(finAccBills, bCorps.getId());
+			return finAccBills;
+		} else if ("6".equals(type)) {
+			Field fieldId = feeCenter.getClass().getDeclaredField(mainField);
+			fieldId.setAccessible(true); // 使私有字段可访问
+			fieldId.set(feeCenter, bCorps.getId());
+			return feeCenter;
+		} else {
+			return null;
+		}
+
+	}
+
+
 	@Override
 	public R underReview(Long id) {
 		Update update = baseMapper.selectById(id);

+ 9 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/service/impl/BrandDescServiceImpl.java

@@ -40,6 +40,8 @@ import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 配件批发品牌表服务实现类
@@ -128,7 +130,12 @@ public class BrandDescServiceImpl extends ServiceImpl<BrandDescMapper, PjBrandDe
 			baseMapper.insert(brandDesc);
 		}
 		if (CollectionUtils.isNotEmpty(brandDesc.getBrandFigureList())) {
-			brandDesc.getBrandFigureList().stream().forEach(files -> {
+			brandDesc.getBrandFigureList().forEach(files -> {
+				List<BrandFigure> brandFigureList = brandDesc.getBrandFigureList().stream()
+					.filter(e -> e.getFigure().equals(files.getFigure())).collect(Collectors.toList());
+				if (!brandFigureList.isEmpty() && brandFigureList.size() > 1) {
+					throw new RuntimeException("花纹" + files.getFigure() + "重复!保存失败");
+				}
 				files.setPid(brandDesc.getId());
 				files.setTenantId(AuthUtil.getTenantId());
 				if (files.getId() == null) {
@@ -142,7 +149,7 @@ public class BrandDescServiceImpl extends ServiceImpl<BrandDescMapper, PjBrandDe
 			brandFigureService.saveOrUpdateBatch(brandDesc.getBrandFigureList());
 		}
 		if (CollectionUtils.isNotEmpty(brandDesc.getBrandFilesList())) {
-			brandDesc.getBrandFilesList().stream().forEach(files -> {
+			brandDesc.getBrandFilesList().forEach(files -> {
 				files.setPid(brandDesc.getId());
 				files.setTenantId(AuthUtil.getTenantId());
 				if (files.getId() == null) {