Browse Source

2023年12月22日17:27:04

纪新园 2 years ago
parent
commit
703b071dac

+ 0 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/fees/entity/LosBFeesTemplate.java

@@ -105,13 +105,11 @@ public class LosBFeesTemplate implements Serializable {
 	 * 模版编号
 	 */
 	@ApiModelProperty(value = "模版编号")
-	@NotEmpty(message = "模版编号不能为空")
 	private String code;
 	/**
 	 * 模版中文名称
 	 */
 	@ApiModelProperty(value = "模版中文名称")
-	@NotEmpty(message = "模版中文名称不能为空")
 	private String cnName;
 	/**
 	 * 模版英文名称

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

@@ -1569,5 +1569,27 @@ public class Bills implements Serializable {
 	@TableField(exist = false)
 	private String FM;
 
+	/**
+	 * 账户银行
+	 */
+	@TableField(exist = false)
+	private String accountBank;
+	/**
+	 * 银行账号
+	 */
+	@TableField(exist = false)
+	private String accountNo;
+
+	/**
+	 * 地址
+	 */
+	@TableField(exist = false)
+	private String address;
+	/**
+	 * Swift Code
+	 */
+	@TableField(exist = false)
+	private String swiftCode;
+
 
 }

+ 11 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/dto/FeeCenterReports.java

@@ -77,4 +77,15 @@ public class FeeCenterReports implements Serializable {
 	private BigDecimal amountLocC;
 
 
+	/**
+	 * hblno
+	 */
+	private String hblno;
+
+	/**
+	 * amount串
+	 */
+	private String amount;
+
+
 }

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

@@ -23,6 +23,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.los.basic.corps.entity.BCorpsBank;
+import org.springblade.los.basic.corps.service.IBCorpsBankService;
 import org.springblade.los.basic.cur.entity.BCurrency;
 import org.springblade.los.basic.cur.service.IBCurrencyService;
 import org.springblade.los.basic.reports.entity.Reports;
@@ -55,6 +57,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 
 	private final IBillsService billsService;
 
+	private final IBCorpsBankService bankService;
+
 	private final IFeeCenterService feeCenterService;
 
 	private final IBCurrencyService ibCurrencyService;
@@ -91,21 +95,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 	public R getReportData(String billId, String reportCode, String groupCode, String corpIds,
 						   String itemIds) {
 		Map<String, Object> map = new HashMap<>();
-		Reports reports = baseMapper.selectOne(new LambdaQueryWrapper<Reports>()
-			.eq(Reports::getCode, reportCode)
-			.eq(Reports::getGroupCode, groupCode)
-			.eq(Reports::getTenantId, AuthUtil.getTenantId())
-			.eq(Reports::getIsDeleted, 0)
-			.eq(Reports::getStatus, 0));
-		if (reports == null) {
-			return R.data(map);
-		}
 		BCurrency bCurrency = ibCurrencyService.getOne(new LambdaQueryWrapper<BCurrency>()
 			.eq(BCurrency::getStatus, 0)
 			.eq(BCurrency::getTenantId, AuthUtil.getTenantId())
 			.eq(BCurrency::getIsDeleted, 0)
 			.eq(BCurrency::getCode, "USD"));
-		if ("FYSH".equals(reports.getCode())) {
+		if ("业务".equals(reportCode) && "销售报告".equals(groupCode)) {
 			List<Bills> list = new ArrayList<>();
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
@@ -272,7 +267,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				list.add(0, bills);
 			}
 			map.put("data", list);
-		} else if ("PCTZD".equals(reports.getCode())) {
+		} else if ("单证".equals(reportCode) && "派车通知单".equals(groupCode)) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
 				bills.setFM("jms");
@@ -281,7 +276,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			} else {
 				map.put("data", null);
 			}
-		} else if ("RHTZ".equals(reports.getCode())) {
+		} else if ("单证".equals(reportCode) && "入货通知".equals(groupCode)) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
 				bills.setFM("jms");
@@ -290,7 +285,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			} else {
 				map.put("data", null);
 			}
-		} else if ("FYYS".equals(reports.getCode())) {
+		} else if ("费用".equals(reportCode) && "应收".equals(groupCode)) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
 				bills.setFM("jms");
@@ -323,14 +318,47 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							.eq(FeeCenter::getDc, "D")
 							.apply("find_in_set(id,'" + itemIds + "')")
 							.eq(FeeCenter::getIsDeleted, 0));
+					} else {
+						feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+							.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+							.in(FeeCenter::getPid, ids)
+							.eq(FeeCenter::getDc, "D")
+							.eq(FeeCenter::getIsDeleted, 0));
+					}
+				}
+				List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
+				for (FeeCenter item : feeCenterList) {
+					FeeCenterReports feeCenterReports = new FeeCenterReports();
+					feeCenterReports.setPid(item.getPid());
+					feeCenterReports.setCorpCnName(item.getCorpCnName());
+					feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
+					feeCenterReports.setFeeCnName(item.getFeeCnName());
+					if ("CNY".equals(item.getCurCode())) {
+						feeCenterReports.setAmountD(item.getAmount());
+					} else {
+						feeCenterReports.setAmountUsdD(item.getAmount());
 					}
+					feeCenterReports.setAmountLocD(item.getAmountLoc());
+					feeCenterReports.setHblno(item.getHblno());
+					feeCenterReports.setAmount(item.getQuantity() + "*" + item.getAmount());
+					feeCenterReportsList.add(feeCenterReports);
+				}
+				bills.setFeeCenterList(feeCenterReportsList);
+				List<BCorpsBank> bCorpsBanks = bankService.list(new LambdaQueryWrapper<BCorpsBank>()
+					.eq(BCorpsBank::getTenantId, AuthUtil.getTenantId())
+					.eq(BCorpsBank::getIsDeleted, 0)
+					.eq(BCorpsBank::getPid, bills.getCorpId()));
+				if (bCorpsBanks.size() > 0) {
+					bills.setAccountBank(bCorpsBanks.get(0).getAccountBank());
+					bills.setAccountNo(bCorpsBanks.get(0).getAccountNo());
+					bills.setAddress(bCorpsBanks.get(0).getAddress());
+					bills.setSwiftCode(bCorpsBanks.get(0).getSwiftCode());
 				}
-				bills.setFeeCenterListD(feeCenterList);
 				map.put("data", bills);
 			} else {
 				map.put("data", null);
 			}
-		} else if ("FYYF".equals(reports.getCode())) {
+		} else if ("费用".equals(reportCode) && "应付".equals(groupCode)) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
 				bills.setFM("jms");
@@ -363,15 +391,37 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							.eq(FeeCenter::getDc, "C")
 							.apply("find_in_set(id,'" + itemIds + "')")
 							.eq(FeeCenter::getIsDeleted, 0));
+					} else {
+						feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+							.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+							.in(FeeCenter::getPid, ids)
+							.eq(FeeCenter::getDc, "C")
+							.eq(FeeCenter::getIsDeleted, 0));
+					}
+				}
+				List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
+				for (FeeCenter item : feeCenterList) {
+					FeeCenterReports feeCenterReports = new FeeCenterReports();
+					feeCenterReports.setPid(item.getPid());
+					feeCenterReports.setCorpCnName(item.getCorpCnName());
+					feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
+					feeCenterReports.setFeeCnName(item.getFeeCnName());
+					if ("CNY".equals(item.getCurCode())) {
+						feeCenterReports.setAmountC(item.getAmount());
+					} else {
+						feeCenterReports.setAmountUsdC(item.getAmount());
 					}
+					feeCenterReports.setAmountLocC(item.getAmountLoc());
+					feeCenterReports.setHblno(item.getHblno());
+					feeCenterReports.setAmount(item.getQuantity() + "*" + item.getAmount());
+					feeCenterReportsList.add(feeCenterReports);
 				}
-				bills.setFeeCenterListC(feeCenterList);
+				bills.setFeeCenterList(feeCenterReportsList);
 				map.put("data", bills);
 			} else {
 				map.put("data", null);
 			}
 		}
-		map.put("url", reports.getUrl());
 		return R.data(map);
 	}
 

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

@@ -45,6 +45,7 @@ import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;
 import java.util.*;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -348,10 +349,18 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 			.eq(Containers::getIsDeleted, 0)
 			.in(Containers::getId, ids));
 		List<Containers> containersList = new ArrayList<>();
+		String regex = "^[a-zA-Z0-9]+$";
+		Pattern pattern = Pattern.compile(regex);
 		for (BoxAndLeadSealNoExcel item : excelList) {
 			Containers containers = list.stream().filter(e -> e.getId().equals(Long.parseLong(item.getId()))).findFirst().orElse(null);
 			if (containers != null) {
-				containers.setCntrNo(item.getCntrNo());
+				if (pattern.matcher(item.getCntrNo()).matches()) {
+					throw new RuntimeException("箱号" + item.getCntrNo() + "存在特殊字符,请修改");
+				}
+				if (pattern.matcher(item.getSealNo()).matches()) {
+					throw new RuntimeException("铅封号" + item.getSealNo() + "存在特殊字符,请修改");
+				}
+				containers.setCntrNo(item.getCntrNo().toUpperCase());
 				containers.setSealNo(item.getSealNo());
 				containersList.add(containers);
 			}

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

@@ -83,6 +83,7 @@ public class FeeCenterController extends BladeController {
 			.eq(FeeCenter::getPid, bills.getId())
 			.eq(FeeCenter::getDc, "C")
 			.eq(FeeCenter::getBillNo, bills.getBillNo())
+			.orderByDesc(FeeCenter::getCreateTime)
 		);
 		List<FeeCenter> feeCenterListD = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 			.eq(FeeCenter::getIsDeleted, 0)
@@ -91,6 +92,7 @@ public class FeeCenterController extends BladeController {
 			.eq(FeeCenter::getPid, bills.getId())
 			.eq(FeeCenter::getDc, "D")
 			.eq(FeeCenter::getBillNo, bills.getBillNo())
+			.orderByDesc(FeeCenter::getCreateTime)
 		);
 		map.put("feeCenterListC", feeCenterListC);
 		map.put("feeCenterListD", feeCenterListD);
@@ -126,7 +128,7 @@ public class FeeCenterController extends BladeController {
 			lambdaQueryWrapper.le(FeeCenter::getEta, feeCenter.getEtaList().get(1));
 		}
 		lambdaQueryWrapper.orderByDesc(FeeCenter::getCreateTime);
-		IPage<FeeCenter> pages = feeCenterService.page(Condition.getPage(query), Condition.getQueryWrapper(feeCenter));
+		IPage<FeeCenter> pages = feeCenterService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 2 - 2
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FinAccBillsController.java

@@ -76,7 +76,7 @@ public class FinAccBillsController extends BladeController {
 		lambdaQueryWrapper.eq(FinAccBills::getTenantId, AuthUtil.getTenantId())
 			.eq(FinAccBills::getIsDeleted, 0)
 			.eq(ObjectUtils.isNotNull(finAccBills.getAccountDc()), FinAccBills::getAccountDc, finAccBills.getAccountDc())
-			.eq(ObjectUtils.isNotNull(finAccBills.getBillNo()), FinAccBills::getBillNo, finAccBills.getBillNo())
+			.like(ObjectUtils.isNotNull(finAccBills.getBillNo()), FinAccBills::getBillNo, finAccBills.getBillNo())
 			.eq(ObjectUtils.isNotNull(finAccBills.getAccountType()), FinAccBills::getAccountType, finAccBills.getAccountType())
 			.eq(ObjectUtils.isNotNull(finAccBills.getBusinessType()), FinAccBills::getBusinessType, finAccBills.getBusinessType())
 			.like(ObjectUtils.isNotNull(finAccBills.getBusinessBillNo()), FinAccBills::getBusinessBillNo, finAccBills.getBusinessBillNo())
@@ -138,7 +138,7 @@ public class FinAccBillsController extends BladeController {
 			lambdaQueryWrapper.le(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(1));
 		}
 		lambdaQueryWrapper.orderByDesc(FinAccBills::getCreateTime);
-		IPage<FinAccBills> pages = finAccBillsService.page(Condition.getPage(query), Condition.getQueryWrapper(finAccBills));
+		IPage<FinAccBills> pages = finAccBillsService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 11 - 2
blade-service/blade-los/src/main/java/org/springblade/los/finance/invoices/controller/FinInvoicesController.java

@@ -16,19 +16,24 @@
  */
 package org.springblade.los.finance.invoices.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+
 import javax.validation.Valid;
 
 import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.los.finance.stl.entity.FinStlBills;
+import org.springblade.los.finance.vouchers.entity.FinVouchers;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.los.finance.invoices.entity.FinInvoices;
@@ -68,7 +73,12 @@ public class FinInvoicesController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入finInvoices")
 	public R<IPage<FinInvoices>> list(FinInvoices finInvoices, Query query) {
-		IPage<FinInvoices> pages = finInvoicesService.page(Condition.getPage(query), Condition.getQueryWrapper(finInvoices));
+		LambdaQueryWrapper<FinInvoices> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(FinInvoices::getTenantId, AuthUtil.getTenantId())
+			.eq(FinInvoices::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(finInvoices.getBillNo()), FinInvoices::getBillNo, finInvoices.getBillNo())
+			.orderByDesc(FinInvoices::getCreateTime);
+		IPage<FinInvoices> pages = finInvoicesService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
 
@@ -208,5 +218,4 @@ public class FinInvoicesController extends BladeController {
 	}
 
 
-
 }

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/controller/FinStlBillsController.java

@@ -103,7 +103,7 @@ public class FinStlBillsController extends BladeController {
 			.eq(ObjectUtils.isNotNull(finStlBills.getBillDate()), FinStlBills::getBillDate, finStlBills.getBillDate())
 
 			.orderByDesc(FinStlBills::getCreateTime);
-		IPage<FinStlBills> pages = finStlBillsService.page(Condition.getPage(query), Condition.getQueryWrapper(finStlBills));
+		IPage<FinStlBills> pages = finStlBillsService.page(Condition.getPage(query),lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 16 - 9
blade-service/blade-los/src/main/java/org/springblade/los/finance/vouchers/controller/FinVouchersController.java

@@ -16,24 +16,26 @@
  */
 package org.springblade.los.finance.vouchers.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
-import javax.validation.Valid;
-
+import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.los.finance.stl.entity.FinStlBills;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.los.finance.vouchers.entity.FinVouchers;
-import org.springblade.los.finance.vouchers.vo.FinVouchersVO;
 import org.springblade.los.finance.vouchers.service.IFinVouchersService;
-import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.los.finance.vouchers.vo.FinVouchersVO;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
 
 /**
  * 业务-财务凭证 控制器
@@ -67,7 +69,12 @@ public class FinVouchersController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入finVouchers")
 	public R<IPage<FinVouchers>> list(FinVouchers finVouchers, Query query) {
-		IPage<FinVouchers> pages = finVouchersService.page(Condition.getPage(query), Condition.getQueryWrapper(finVouchers));
+		LambdaQueryWrapper<FinVouchers> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(FinVouchers::getTenantId, AuthUtil.getTenantId())
+			.eq(FinVouchers::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(finVouchers.getBillNo()), FinVouchers::getBillNo, finVouchers.getBillNo())
+			.orderByDesc(FinVouchers::getCreateTime);
+		IPage<FinVouchers> pages = finVouchersService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 5 - 2
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -292,10 +292,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							.eq(DocumentRecovery::getCorpCode, corpMessage.getData().getCode())
 							.orderByDesc(DocumentRecovery::getCreateTime));
 						if (documentRecovery.size() > 0) {
-							order.setOrderNo(documentRecovery.get(0).getBillNo());
+							String billno = documentRecovery.get(0).getBillNo().substring(0, documentRecovery.get(0).getBillNo().indexOf("-") + 1);
+							Date busDate = order.getBusinesDate();
+							String dateString = DateFormatUtils.format(busDate, "yyMMdd");
+							order.setOrderNo(billno + dateString);
 							// 进口的orgOrderNo 存的是采购订单号  出口国内存的是本身的订单号码
 							if (!order.getBillType().equals(OrderTypeEnum.IMPORT.getType())) {
-								order.setOrgOrderNo(documentRecovery.get(0).getBillNo());
+								order.setOrgOrderNo(billno + dateString);
 							}
 							documentRecoveryService.removeById(documentRecovery.get(0).getId());
 						} else {