Ver Fonte

1.往来单位所属公司bug修改
2.汇率取值修改
3.应收应付报表打印增加汇率
4.应收应付报表打印增加越南盾金额

纪新园 há 3 meses atrás
pai
commit
0e353920cf

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

@@ -2592,6 +2592,12 @@ public class Bills implements Serializable {
 	private String exrateType;
 
 	/**
+	 * 汇率
+	 */
+	@TableField(exist = false)
+	private BigDecimal exrate;
+
+	/**
 	 * 首页统计类型  1=开船提醒
 	 * 2=到港提醒
 	 * 3=截港提醒

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

@@ -176,5 +176,30 @@ public class FeeCenterReports implements Serializable {
 	 */
 	private BigDecimal amountTax;
 
+	/**
+	 * 净额
+	 */
+	private BigDecimal amountNet;
+
+	/**
+	 * 越南盾单价
+	 */
+	private BigDecimal priceVND;
+
+	/**
+	 * 越南盾金额
+	 */
+	private BigDecimal moneyVND;
+
+	/**
+	 * 越南盾税额
+	 */
+	private BigDecimal amountTaxVND;
+
+	/**
+	 * 越南盾净额
+	 */
+	private BigDecimal amountNetVND;
+
 
 }

+ 5 - 5
blade-service/blade-los/src/main/java/org/springblade/los/Util/CurrencyUtils.java

@@ -91,14 +91,14 @@ public class CurrencyUtils {
 		if (currencyList.isEmpty()) {
 			throw new RuntimeException("请先维护所属公司:" + deptName + "币别基础资料");
 		}
-		boolean status = false;
+		/*boolean status = false;
 		//获取业务汇率范围
 		String exchangeRateType = sysClient.getParamService("business.exchange.rate");
 		if ("1".equals(type)) {
 			if (ObjectUtils.isNotNull(exchangeRateType)) {
 				status = true;
 			}
-		}
+		}*/
 		for (BCurrency bCurrency : currencyList) {
 			LambdaQueryWrapper<BCurExrate> lambdaQueryWrapper = new LambdaQueryWrapper<BCurExrate>()
 				.in(BCurExrate::getCode, bCurrency.getCode())
@@ -108,7 +108,7 @@ public class CurrencyUtils {
 			if (0 == bCurrency.getIsLocal()) {
 				lambdaQueryWrapper.eq(BCurExrate::getExrateYear, year);
 				//判断查询条件为  配置范围/默认范围
-				if (status) {
+				/*if (status) {
 					if ("月".equals(exchangeRateType)) {
 						lambdaQueryWrapper.eq(BCurExrate::getExrateMonth, month)
 							.eq(BCurExrate::getType, "月汇率");
@@ -117,7 +117,7 @@ public class CurrencyUtils {
 						lambdaQueryWrapper.eq(BCurExrate::getExrateDay, day)
 							.eq(BCurExrate::getType, "日汇率");
 					}
-				} else {
+				} else {*/
 					if ("月汇率".equals(bCurrency.getParitiesType())) {
 						lambdaQueryWrapper.eq(BCurExrate::getExrateMonth, month)
 							.eq(BCurExrate::getType, bCurrency.getParitiesType());
@@ -126,7 +126,7 @@ public class CurrencyUtils {
 						lambdaQueryWrapper.eq(BCurExrate::getExrateDay, day)
 							.eq(BCurExrate::getType, bCurrency.getParitiesType());
 					}
-				}
+//				}
 				//获取具体日期汇率
 				BCurExrate bCurExrate = bCurExrateService.getOne(lambdaQueryWrapper);
 				if (bCurExrate != null) {

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

@@ -138,10 +138,17 @@ public class BCorpsServiceImpl extends ServiceImpl<CorpsMapper, BCorps> implemen
 			bCorps.setCreateTime(new Date());
 			bCorps.setCreateUser(AuthUtil.getUserId());
 			bCorps.setCreateUserName(AuthUtil.getUserName());
-			bCorps.setDeptName(deptName);
-			bCorps.setDeptId(branchId);
-			bCorps.setBranchId(branchId);
-			bCorps.setBranchName(deptName);
+			if (ObjectUtils.isNull(branchId)){
+				bCorps.setDeptName(null);
+				bCorps.setDeptId(null);
+				bCorps.setBranchId(null);
+				bCorps.setBranchName(null);
+			}else{
+				bCorps.setDeptName(deptName);
+				bCorps.setDeptId(branchId);
+				bCorps.setBranchId(branchId);
+				bCorps.setBranchName(deptName);
+			}
 			bCorps.setCreateDept(deptId);
 			bCorps.setCreateDeptName(deptName);
 		} else {
@@ -184,6 +191,12 @@ public class BCorpsServiceImpl extends ServiceImpl<CorpsMapper, BCorps> implemen
 			bCorps.setUpdateUser(AuthUtil.getUserId());
 			bCorps.setUpdateTime(new Date());
 			bCorps.setUpdateUserName(AuthUtil.getUserName());
+			if (ObjectUtils.isNull(branchId)){
+				bCorps.setDeptName(null);
+				bCorps.setDeptId(null);
+				bCorps.setBranchId(null);
+				bCorps.setBranchName(null);
+			}
 		}
 		if (ObjectUtils.isNull(bCorps.getExtendedData()) || "\"\"".equals(bCorps.getExtendedData())) {
 			bCorps.setExtendedData("[]");

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

@@ -1601,6 +1601,14 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					bills.setAddress(bCorpsBanks.get(0).getAddress());
 					bills.setSwiftCode(bCorpsBanks.get(0).getSwiftCode());
 				}
+				if (!feeCenterList.isEmpty()){
+					FeeCenter feeCenter = feeCenterList.stream().filter(e-> !exrateType.equals(e.getCurCode())).findFirst().orElse(null);
+					if (feeCenter != null){
+						bills.setExrate(feeCenter.getExrate());
+					}else{
+						bills.setExrate(new BigDecimal("1"));
+					}
+				}
 				BCorps bCorps = bCorpsService.getById(bills.getCorpId());
 				if (bCorps != null) {
 					bills.setCorpAddress(bCorps.getCnAddr());
@@ -1682,6 +1690,14 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				}
 				feeCenterList = feeCenterService.list(lambdaQueryWrapper);
 				this.assignmentDc(bills, feeCenterList, curCode, exrateType, curExrateList);
+				if (!feeCenterList.isEmpty()){
+					FeeCenter feeCenter = feeCenterList.stream().filter(e-> !exrateType.equals(e.getCurCode())).findFirst().orElse(null);
+					if (feeCenter != null){
+						bills.setExrate(feeCenter.getExrate());
+					}else{
+						bills.setExrate(new BigDecimal("1"));
+					}
+				}
 				bills.setDept(dept);
 				BCorps bCorps = bCorpsService.getById(bills.getCorpId());
 				if (bCorps != null) {
@@ -2279,12 +2295,21 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
 			feeCenterReports.setFeeCnName(item.getFeeCnName());
 			feeCenterReports.setFeeEnName(item.getFeeEnName());
-			if (exrateType.equals(item.getCurCode())) {
-				feeCenterReports.setAmountD(item.getAmount());
-			} else {
-				feeCenterReports.setAmountUsdD(item.getAmount());
+			if (MagicValues.D.equals(item.getDc())) {
+				if (exrateType.equals(item.getCurCode())) {
+					feeCenterReports.setAmountD(item.getAmount());
+				} else {
+					feeCenterReports.setAmountUsdD(item.getAmount());
+				}
+				feeCenterReports.setAmountLocD(item.getAmountLoc());
+			}else{
+				if (exrateType.equals(item.getCurCode())) {
+					feeCenterReports.setAmountC(item.getAmount());
+				} else {
+					feeCenterReports.setAmountUsdC(item.getAmount());
+				}
+				feeCenterReports.setAmountLocC(item.getAmountLoc());
 			}
-			feeCenterReports.setAmountLocD(item.getAmountLoc());
 			feeCenterReports.setHblno(item.getHblno());
 			feeCenterReports.setAmount(item.getQuantity() + "*" + item.getPrice());
 			feeCenterReports.setExrate(item.getExrate());
@@ -2294,6 +2319,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			feeCenterReports.setMoney(item.getAmount());
 			feeCenterReports.setTaxRate(item.getTaxRate());
 			feeCenterReports.setAmountTax(item.getAmountTax());
+			feeCenterReports.setAmountNet(item.getAmount().subtract(item.getAmountTax()));
+			feeCenterReports.setCurCode(item.getCurCode());
+			feeCenterReports.setPriceVND(item.getPrice().multiply(item.getExrate()));
+			feeCenterReports.setMoneyVND(item.getAmount().multiply(item.getExrate()));
+			feeCenterReports.setAmountTaxVND(item.getAmountTax().multiply(item.getExrate()));
+			feeCenterReports.setAmountNetVND(feeCenterReports.getMoneyVND().subtract(feeCenterReports.getAmountNetVND()));
 			feeCenterReportsList.add(feeCenterReports);
 		}
 		if (!feeCenterList.isEmpty()) {