纪新园 пре 4 месеци
родитељ
комит
13b0137c16

+ 101 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java

@@ -2247,4 +2247,105 @@ public class Bills implements Serializable {
 	 */
 	@TableField(exist = false)
 	private String strFlag;
+
+	/**
+	 * 唛头
+	 */
+	@TableField(exist = false)
+	private String attachedMark;
+
+	/**
+	 * 货描
+	 */
+	@TableField(exist = false)
+	private String attachedGoodsdesc;
+
+	/**
+	 * 附页
+	 */
+	@TableField(exist = false)
+	private String attached;
+
+	/**
+	 * 联系人
+	 */
+	@TableField(exist = false)
+	private String contacts;
+
+	/**
+	 * 电话
+	 */
+	@TableField(exist = false)
+	private String phone;
+	/**
+	 * 传真
+	 */
+	@TableField(exist = false)
+	private String fax;
+
+	/**
+	 * bookingAgencyCode
+	 */
+	@TableField(exist = false)
+	private String bookingAgencyCode;
+
+	/**
+	 * RFA Number
+	 */
+	@TableField(exist = false)
+	private String rfaNumber;
+
+	/**
+	 * ALL IN RATE
+	 */
+	@TableField(exist = false)
+	private String allInRate;
+
+	/**
+	 * REQUEST FREE TIME @POD
+	 */
+	@TableField(exist = false)
+	private String requestFreeTimePod;
+
+	/**
+	 * BOF
+	 */
+	@TableField(exist = false)
+	private String bof;
+
+	/**
+	 * IHCD
+	 */
+	@TableField(exist = false)
+	private String ihcd;
+
+	/**
+	 * REMARK
+	 */
+	@TableField(exist = false)
+	private String remark;
+
+	/**
+	 * 箱子要求
+	 */
+	@TableField(exist = false)
+	private String boxRequire;
+
+	/**
+	 * PIL SALES签字确认
+	 */
+	@TableField(exist = false)
+	private String pilSales;
+
+	/**
+	 * PP 付费地点
+	 */
+	@TableField(exist = false)
+	private String prepaidAt;
+
+	/**
+	 * CC 付费地点
+	 */
+	@TableField(exist = false)
+	private String payableAt;
 }

+ 2 - 1
blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/service/impl/BCorpsServiceImpl.java

@@ -535,8 +535,9 @@ public class BCorpsServiceImpl extends ServiceImpl<CorpsMapper, BCorps> implemen
 	 */
 	public static String getSpells(String characters) {
 		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < characters.length(); i++) {
+		characters = characters.replaceAll("[^a-zA-Z0-9]", "");
 
+		for (int i = 0; i < characters.length(); i++) {
 			char ch = characters.charAt(i);
 			if ((ch >> 7) == 0) {
 				// 判断是否为汉字,如果左移7为为0就不是汉字,否则是汉字

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

@@ -33,6 +33,7 @@ import org.springblade.core.tool.utils.Func;
 import org.springblade.los.business.locks.entity.BillLocks;
 import org.springblade.los.business.locks.service.IBillLocksService;
 import org.springblade.los.business.locks.vo.BillLocksVO;
+import org.springblade.los.business.sea.entity.Bills;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
@@ -81,6 +82,9 @@ public class BillLocksController extends BladeController {
 			.eq(ObjectUtils.isNotNull(billLocks.getSrcVesselId()), BillLocks::getSrcVesselId, billLocks.getSrcVesselId())
 			.like(ObjectUtils.isNotNull(billLocks.getSrcVoyageNo()), BillLocks::getSrcVoyageNo, billLocks.getSrcVoyageNo())
 			.orderByDesc(BillLocks::getCreateTime);
+		if (!AuthUtil.getUserRole().contains("admin")) {
+			lambdaQueryWrapper.eq(BillLocks::getCreateDept, AuthUtil.getDeptId());
+		}
 		IPage<BillLocks> pages = billLocksService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/locks/service/impl/BillLocksServiceImpl.java

@@ -125,6 +125,8 @@ public class BillLocksServiceImpl extends ServiceImpl<BillLocksMapper, BillLocks
 								billLocks1.setCreateTime(new Date());
 								billLocks1.setCreateUser(AuthUtil.getUserId());
 								billLocks1.setCreateUserName(AuthUtil.getUserName());
+								billLocks1.setCreateDept(item.getAccDept());
+								billLocks1.setCreateDeptName(item.getAccDeptName());
 								billLocks1.setBranchId(item.getBranchId());
 								billLocks1.setBillNo(item.getBillNo());
 								billLocks1.setBillDate(item.getBillDate());
@@ -151,6 +153,8 @@ public class BillLocksServiceImpl extends ServiceImpl<BillLocksMapper, BillLocks
 							billLocks1.setCreateTime(new Date());
 							billLocks1.setCreateUser(AuthUtil.getUserId());
 							billLocks1.setCreateUserName(AuthUtil.getUserName());
+							billLocks1.setCreateDept(item.getAccDept());
+							billLocks1.setCreateDeptName(item.getAccDeptName());
 							billLocks1.setBranchId(item.getBranchId());
 							billLocks1.setBillNo(item.getBillNo());
 							billLocks1.setBillDate(item.getBillDate());

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

@@ -514,6 +514,13 @@ public class UpdateServiceImpl extends ServiceImpl<UpdateMapper, Update> impleme
 					assignmentCorps(bills, null, null, null, null, null, bCorps, item.getMainFieldCname(), "1", "3");
 					assignmentCorps(bills, null, null, null, null, null, bCorps, item.getMainFieldEname(), "1", "4");
 				}
+			} else if ("OP".equals(item.getQueryType())) {
+				R<User> res = userClient.userInfoById(Long.parseLong(item.getFieldValueNew()));
+				if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
+					user = res.getData();
+					assignmentUser(bills, null, null, null, null, null, user, item.getMainFieldId(), "1", "1");
+					assignmentUser(bills, null, null, null, null, null, user, item.getMainFieldId(), "1", "3");
+				}
 			} else if ("港口".equals(item.getQueryType())) {
 				bPorts = bPortsService.getById(Long.parseLong(item.getFieldValueNew()));
 				if (bPorts != null) {

+ 67 - 15
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FeeCenterServiceImpl.java

@@ -24,6 +24,7 @@ import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.basic.corps.entity.BCorps;
 import org.springblade.los.basic.corps.mapper.CorpsMapper;
@@ -136,6 +137,15 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 				feeCenter.setCreateDeptName(deptName);
 			}
 		} else {
+			FeeCenter dataSourceBill = baseMapper.selectOne(new LambdaQueryWrapper<FeeCenter>()
+				.select(FeeCenter::getId, FeeCenter::getVersion).eq(FeeCenter::getId, feeCenter.getId()));
+			if (!Objects.equals(dataSourceBill.getVersion(), feeCenter.getVersion())) {
+				return R.fail(601, "数据已被其他用户更新,请等待刷新后重试");
+			}
+			// 每更新一次往上累加一次版本
+			// 旧数据处理
+			int version = StringUtil.isBlank(dataSourceBill.getVersion()) ? 1 : Integer.parseInt(dataSourceBill.getVersion());
+			feeCenter.setVersion(String.valueOf(version + 1));
 			feeCenter.setUpdateUser(AuthUtil.getUserId());
 			feeCenter.setUpdateTime(new Date());
 			feeCenter.setUpdateUserName(AuthUtil.getUserName());
@@ -237,7 +247,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 					feeCenter.setElementsCode(items.getElementsCode());
 
 					feeCenter.setPid(bills.getId());
-					feeCenter.setCntrNo(bills.getQuantityCntrTypesDescr());
+//					feeCenter.setCntrNo(bills.getQuantityCntrTypesDescr());
 					feeCenter.setBillNo(bills.getBillNo());
 					feeCenter.setBusinessType(bills.getBusinessType());
 					feeCenter.setBillType(bills.getBillType());
@@ -599,6 +609,14 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 			List<BCorps> bCorpsList = bCorpsService.list(new LambdaQueryWrapper<BCorps>()
 				.eq(BCorps::getTenantId, AuthUtil.getTenantId())
 				.eq(BCorps::getIsDeleted, 0));
+			List<FeeCenter> feeCenters1 = new ArrayList<>();
+			List<Long> idList = list.stream().map(FeeCenter::getId).filter(Objects::nonNull).collect(Collectors.toList());
+			if (!idList.isEmpty()){
+				feeCenters1 = baseMapper.selectList(new LambdaQueryWrapper<FeeCenter>()
+					.eq(FeeCenter::getTenantId,AuthUtil.getTenantId())
+					.eq(FeeCenter::getIsDeleted,0)
+					.in(FeeCenter::getId,idList));
+			}
 			for (FeeCenter feeCenter : list) {
 				if (!bCorpsList.isEmpty()) {
 					BCorps bCorps = bCorpsList.stream().filter(e -> e.getId().equals(feeCenter.getCorpId())).findFirst().orElse(null);
@@ -620,6 +638,19 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 						feeCenter.setCreateDeptName(deptName);
 					}
 				} else {
+					if (!feeCenters1.isEmpty()){
+						FeeCenter dataSourceBill = feeCenters1.stream().filter(e-> e.getId().equals(feeCenter.getId()))
+							.findFirst().orElse(null);
+						if (dataSourceBill != null){
+							if (!Objects.equals(dataSourceBill.getVersion(), feeCenter.getVersion())) {
+								return R.fail(601, "数据已被其他用户更新,请等待刷新后重试");
+							}
+							// 每更新一次往上累加一次版本
+							// 旧数据处理
+							int version = StringUtil.isBlank(dataSourceBill.getVersion()) ? 1 : Integer.parseInt(dataSourceBill.getVersion());
+							feeCenter.setVersion(String.valueOf(version + 1));
+						}
+					}
 					feeCenter.setUpdateUser(AuthUtil.getUserId());
 					feeCenter.setUpdateTime(new Date());
 					feeCenter.setUpdateUserName(AuthUtil.getUserName());
@@ -967,8 +998,16 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 		List<FeeCenter> feeCenterList = new ArrayList<>();
 		if (ObjectUtils.isNotNull(list) && !list.isEmpty()) {
 			Date date = list.get(0).getBillDate();
-			BigDecimal exrateD = bCurrencyService.getCnyExrate(date, "USD", "D", "1");
-			BigDecimal exrateC = bCurrencyService.getCnyExrate(date, "USD", "C", "1");
+//			BigDecimal exrateD = bCurrencyService.getCnyExrate(date, "USD", "D", "1");
+//			BigDecimal exrateC = bCurrencyService.getCnyExrate(date, "USD", "C", "1");
+			List<FeeCenter> feeCenters1 = new ArrayList<>();
+			List<Long> idList = list.stream().map(FeeCenter::getId).filter(Objects::nonNull).collect(Collectors.toList());
+			if (!idList.isEmpty()){
+				feeCenters1 = baseMapper.selectList(new LambdaQueryWrapper<FeeCenter>()
+					.eq(FeeCenter::getTenantId,AuthUtil.getTenantId())
+					.eq(FeeCenter::getIsDeleted,0)
+					.in(FeeCenter::getId,idList));
+			}
 			for (FeeCenter feeCenter : list) {
 				if (feeCenter.getId() == null) {
 					feeCenter.setCreateTime(new Date());
@@ -980,6 +1019,19 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 						feeCenter.setCreateDeptName(deptName);
 					}
 				} else {
+					if (!feeCenters1.isEmpty()){
+						FeeCenter dataSourceBill = feeCenters1.stream().filter(e-> e.getId().equals(feeCenter.getId()))
+							.findFirst().orElse(null);
+						if (dataSourceBill != null){
+							if (!Objects.equals(dataSourceBill.getVersion(), feeCenter.getVersion())) {
+								return R.fail(601, "数据已被其他用户更新,请等待刷新后重试");
+							}
+							// 每更新一次往上累加一次版本
+							// 旧数据处理
+							int version = StringUtil.isBlank(dataSourceBill.getVersion()) ? 1 : Integer.parseInt(dataSourceBill.getVersion());
+							feeCenter.setVersion(String.valueOf(version + 1));
+						}
+					}
 					feeCenter.setUpdateUser(AuthUtil.getUserId());
 					feeCenter.setUpdateTime(new Date());
 					feeCenter.setUpdateUserName(AuthUtil.getUserName());
@@ -1019,17 +1071,10 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 					feeCenter.setAmountLoc(amount);
 					feeCenter.setAmountDiscountLoc(amount);
 				} else {
-					if ("D".equals(feeCenter.getDc())) {
-						feeCenter.setAmountNetLoc(amountNet.multiply(exrateD));
-						feeCenter.setAmountTaxLoc(amountTax.multiply(exrateD));
-						feeCenter.setAmountLoc(amount.multiply(exrateD));
-						feeCenter.setAmountDiscountLoc(amount.multiply(exrateD));
-					} else {
-						feeCenter.setAmountNetLoc(amountNet.multiply(exrateC));
-						feeCenter.setAmountTaxLoc(amountTax.multiply(exrateC));
-						feeCenter.setAmountLoc(amount.multiply(exrateC));
-						feeCenter.setAmountDiscountLoc(amount.multiply(exrateC));
-					}
+					feeCenter.setAmountNetLoc(amountNet.multiply(feeCenter.getExrate()));
+					feeCenter.setAmountTaxLoc(amountTax.multiply(feeCenter.getExrate()));
+					feeCenter.setAmountLoc(amount.multiply(feeCenter.getExrate()));
+					feeCenter.setAmountDiscountLoc(amount.multiply(feeCenter.getExrate()));
 				}
 				feeCenter.setAmountNet(amountNet);
 				feeCenter.setAmountTax(amountTax);
@@ -1060,6 +1105,13 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 				for (String item : accBillNoList) {
 					BCorps bCorps = new BCorps();
 					bCorps.setAccBillNo(item);
+					List<FeeCenter> feeCenters = feeCenterList.stream().filter(e-> e.getAccBillNo().equals(item)).collect(Collectors.toList());
+					if (!feeCenters.isEmpty()){
+						bCorps.setCnName(feeCenters.get(0).getCorpCnName());
+						bCorps.setEnName(feeCenters.get(0).getCorpEnName());
+						bCorps.setShortName(feeCenters.get(0).getShortName());
+						bCorps.setId(feeCenters.get(0).getCorpId());
+					}
 					bCorpsList.add(bCorps);
 				}
 			}
@@ -1438,7 +1490,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 					feeCenter.setElementsId(items.getElementsId());
 					feeCenter.setElementsCode(items.getElementsCode());
 					feeCenter.setPid(bills.getId());
-					feeCenter.setCntrNo(bills.getQuantityCntrTypesDescr());
+//					feeCenter.setCntrNo(bills.getQuantityCntrTypesDescr());
 					feeCenter.setBillNo(bills.getBillNo());
 					feeCenter.setBusinessType(bills.getBusinessType());
 					feeCenter.setBillType(bills.getBillType());

+ 9 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FinAccBillsServiceImpl.java

@@ -24,6 +24,7 @@ import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.basic.business.entity.BusinessType;
 import org.springblade.los.basic.business.service.IBusinessTypeService;
@@ -339,6 +340,8 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 				feeCenterItem.setAccById(AuthUtil.getUserId());
 				feeCenterItem.setAccByName(AuthUtil.getUserName());
 				feeCenterItem.setAuditStatus("2");
+				int version = StringUtil.isBlank(feeCenterItem.getVersion()) ? 1 : Integer.parseInt(feeCenterItem.getVersion());
+				feeCenterItem.setVersion(String.valueOf(version + 1));
 				feeCenterList.add(feeCenterItem);
 			}
 		}
@@ -461,6 +464,8 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 			feeCenterItem.setAccStatus(0);
 			feeCenterItem.setAccById(0L);
 			feeCenterItem.setAccByName("");
+			int version = StringUtil.isBlank(feeCenterItem.getVersion()) ? 1 : Integer.parseInt(feeCenterItem.getVersion());
+			feeCenterItem.setVersion(String.valueOf(version + 1));
 			feeCenterList.add(feeCenterItem);
 		}
 		feeCenterService.saveOrUpdateBatch(feeCenterList);
@@ -757,6 +762,8 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 				feeCenterItem.setAccById(AuthUtil.getUserId());
 				feeCenterItem.setAccByName(AuthUtil.getUserName());
 				feeCenterItem.setAuditStatus("2");
+				int version = StringUtil.isBlank(feeCenterItem.getVersion()) ? 1 : Integer.parseInt(feeCenterItem.getVersion());
+				feeCenterItem.setVersion(String.valueOf(version + 1));
 				feeCenterList.add(feeCenterItem);
 			}
 		}
@@ -883,6 +890,8 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 			feeCenterItem.setAccStatus(0);
 			feeCenterItem.setAccById(0L);
 			feeCenterItem.setAccByName("");
+			int version = StringUtil.isBlank(feeCenterItem.getVersion()) ? 1 : Integer.parseInt(feeCenterItem.getVersion());
+			feeCenterItem.setVersion(String.valueOf(version + 1));
 			feeCenterList.add(feeCenterItem);
 		}
 		feeCenterService.saveOrUpdateBatch(feeCenterList);

+ 6 - 0
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java

@@ -142,6 +142,8 @@ public class StatisticAnalysisServiceImpl extends ServiceImpl<FinanceProfitMappe
 			if (ObjectUtils.isNotNull(financeProfit.getExamine())) {
 				lambdaQueryWrapper.eq(Amends::getStatus, 3);
 			}
+			lambdaQueryWrapper.gt(ObjectUtils.isNotNull(financeProfit.getStatisticsDateStart()), Amends::getEtd, financeProfit.getStatisticsDateStart());
+			lambdaQueryWrapper.lt(ObjectUtils.isNotNull(financeProfit.getStatisticsDateEnd()), Amends::getEtd, financeProfit.getStatisticsDateEnd());
 			List<Amends> amendsList = amendsMapper.selectList(lambdaQueryWrapper);
 			List<FeeCenter> feeCenterList = new ArrayList<>();
 			if (!amendsList.isEmpty()) {
@@ -1039,6 +1041,8 @@ public class StatisticAnalysisServiceImpl extends ServiceImpl<FinanceProfitMappe
 			if (ObjectUtils.isNotNull(financeProfit.getExamine())) {
 				lambdaQueryWrapper.eq(Amends::getStatus, 3);
 			}
+			lambdaQueryWrapper.gt(ObjectUtils.isNotNull(financeProfit.getStatisticsDateStart()), Amends::getEtd, financeProfit.getStatisticsDateStart());
+			lambdaQueryWrapper.lt(ObjectUtils.isNotNull(financeProfit.getStatisticsDateEnd()), Amends::getEtd, financeProfit.getStatisticsDateEnd());
 			List<Amends> amendsList = amendsMapper.selectList(lambdaQueryWrapper);
 			List<FeeCenter> feeCenterList = new ArrayList<>();
 			if (!amendsList.isEmpty()) {
@@ -1219,6 +1223,8 @@ public class StatisticAnalysisServiceImpl extends ServiceImpl<FinanceProfitMappe
 			if (ObjectUtils.isNotNull(financeProfit.getExamine())) {
 				lambdaQueryWrapper.eq(Amends::getStatus, 3);
 			}
+			lambdaQueryWrapper.gt(ObjectUtils.isNotNull(financeProfit.getStatisticsDateStart()), Amends::getEtd, financeProfit.getStatisticsDateStart());
+			lambdaQueryWrapper.lt(ObjectUtils.isNotNull(financeProfit.getStatisticsDateEnd()), Amends::getEtd, financeProfit.getStatisticsDateEnd());
 			List<Amends> amendsList = amendsMapper.selectList(lambdaQueryWrapper);
 			List<FeeCenter> feeCenterList = new ArrayList<>();
 			if (!amendsList.isEmpty()) {