Przeglądaj źródła

2023年3月18日11:47:55

纪新园 2 lat temu
rodzic
commit
a2b1687e69

+ 2 - 2
blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java

@@ -90,10 +90,10 @@ public class BladeUserDetailsServiceImpl implements UserDetailsService {
 				}
 				user = userClient.loginByAccount(null, username, "4", tenant.getData().getTenantId());
 				if (ObjectUtils.isNull(user)) {
-					User user1 = userClient.loginByAccount(null, username, null, tenant.getData().getTenantId());
+					/*User user1 = userClient.loginByAccount(null, username, null, tenant.getData().getTenantId());
 					if (ObjectUtils.isNotNull(user1.getUserType()) && 4 != user1.getUserType()) {
 						throw new UsernameNotFoundException(TokenUtil.USER_NOT_FORBIDDEN);
-					}
+					}*/
 					//用户不存在,注册用户
 					User saveUser = new User();
 					saveUser.setOpenId(openId);

+ 0 - 2
blade-service/blade-client/src/main/java/org/springblade/client/corps/service/impl/CorpsDescServiceImpl.java

@@ -825,7 +825,6 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, CorpsDesc
 				corpsAddr1.setAlias("默认地址-" + corpsDesc.getAttn());
 				corpsAddr1.setTenantId(AuthUtil.getTenantId());
 				corpsAddr1.setPid(corpsDesc1.getId());
-				corpsAddr1.setDetailedAddress("1");
 				corpsAddr1.setCreateTime(new Date());
 				corpsAddr1.setTenantId(AuthUtil.getTenantId());
 				corpsAddr1.setCreateUser(AuthUtil.getUserId());
@@ -866,7 +865,6 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, CorpsDesc
 				corpsAddr.setAbbreviation("送货地址");
 				corpsAddr.setAlias("默认地址-" + corpsDesc.getAttn());
 				corpsAddr.setTenantId(AuthUtil.getTenantId());
-				corpsAddr.setDetailedAddress("1");
 				corpsAddr.setPid(corpsDesc.getId());
 				corpsAddr.setCreateTime(new Date());
 				corpsAddr.setTenantId(AuthUtil.getTenantId());

+ 21 - 8
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/controller/TongLianPaymentController.java

@@ -103,13 +103,13 @@ public class TongLianPaymentController extends BladeController {
 			response.setCharacterEncoding("UTF-8");
 			TreeMap<String, String> params = NotifyServlet.getParams(request);
 			String appKey;
-			if ("RSA".equals(params.get("signtype")))
+			if ("RSA".equals(params.get("signtype"))) {
 				appKey = SybConstants.SYB_RSATLPUBKEY;
-			else if ("SM2".equals(params.get("signtype")))
+			}else if ("SM2".equals(params.get("signtype"))) {
 				appKey = SybConstants.SYB_SM2TLPUBKEY;
-			else
+			}else{
 				appKey = SybConstants.SYB_MD5_APPKEY;
-//			}
+			}
 			boolean isSign = SybUtil.validSign(params, appKey, params.get("signtype"));// 接受到推送通知,首先验签
 			System.out.println("验签结果:" + isSign);
 			WechatMark wechatMark = new WechatMark();
@@ -147,13 +147,13 @@ public class TongLianPaymentController extends BladeController {
 						selectOrder.setConfirmStatus(2);
 						selectOrder.setActualPaymentStatus(2);
 						selectOrder.setPaymentAmountTl(new BigDecimal(Objects.requireNonNull(AnalysisMapUtils.getString("trxamt", params))).divide(new BigDecimal(100), MathContext.DECIMAL32).setScale(2, BigDecimal.ROUND_HALF_UP));
-						if (ObjectUtils.isNotNull(selectOrder.getSettlmentAmount())) {
+						/*if (ObjectUtils.isNotNull(selectOrder.getSettlmentAmount())) {
 							selectOrder.setSettlmentAmount(selectOrder.getSettlmentAmount().add(new BigDecimal(Objects.requireNonNull(AnalysisMapUtils.getString("trxamt", params))).divide(new BigDecimal(100), MathContext.DECIMAL32).setScale(2, BigDecimal.ROUND_HALF_UP)));
 							selectOrder.setBalanceAmount(selectOrder.getDebitAmount().subtract(selectOrder.getSettlmentAmount()));
 						} else {
 							selectOrder.setSettlmentAmount(new BigDecimal(Objects.requireNonNull(AnalysisMapUtils.getString("trxamt", params))).divide(new BigDecimal(100), MathContext.DECIMAL32).setScale(2, BigDecimal.ROUND_HALF_UP));
 							selectOrder.setBalanceAmount(selectOrder.getDebitAmount().subtract(new BigDecimal(Objects.requireNonNull(AnalysisMapUtils.getString("trxamt", params))).divide(new BigDecimal(100), MathContext.DECIMAL32).setScale(2, BigDecimal.ROUND_HALF_UP)));
-						}
+						}*/
 						if (ObjectUtils.isNotNull(selectOrder) && ObjectUtils.isNotNull(selectOrder.getDebitAmount())) {
 							System.out.println("第二步");
 							List<Settlement> settlementList = new ArrayList<>();
@@ -197,8 +197,21 @@ public class TongLianPaymentController extends BladeController {
 												surplusRouteQuantity = surplusRouteQuantity.add(r.getData().getSurplusRouteQuantity().subtract(orderItems.getStorageInQuantity()));
 												balanceQuantity = balanceQuantity.add(surplusRouteQuantity);
 												System.out.println("第三步新库存" + surplusRouteQuantity);
-												balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPrice(), MathContext.DECIMAL32));
-												stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity, MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+												if(new BigDecimal("0.00").compareTo(balanceQuantity) <= 0 ){
+													balanceAmount = balanceAmount.add(orderItems.getStorageInQuantity().multiply(orderItems.getPartsCost(), MathContext.DECIMAL32));
+													if (new BigDecimal("0.00").equals(balanceAmount) && new BigDecimal("0.00").equals(balanceQuantity)){
+														stockPrice = stockPrice.add(balanceAmount);
+													}else{
+														stockPrice = stockPrice.add(balanceAmount.divide(orderItems.getStorageInQuantity(), MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+													}
+												}else{
+													balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPrice(), MathContext.DECIMAL32));
+													if (new BigDecimal("0.00").equals(balanceAmount) && new BigDecimal("0.00").equals(balanceQuantity)){
+														stockPrice = stockPrice.add(balanceAmount);
+													}else{
+														stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity, MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+													}
+												}
 												System.out.println("第三步新库存价" + stockPrice);
 												r.getData().setOutQuantity(r.getData().getOutQuantity().add(orderItems.getStorageInQuantity()));
 												r.getData().setOutAmount(r.getData().getOutAmount().add(orderItems.getPrice().multiply(orderItems.getStorageInQuantity())));

+ 8 - 4
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/OrderDescClient.java

@@ -296,17 +296,21 @@ public class OrderDescClient implements IOrderDescClient {
 			//获取本商品库存
 			R<StockGoodsVO> r = stockGoodsClient.selectStockParts(null, orderItems.getStorageId(), orderItems.getItemId(), null, null, null, null, null, null);
 			if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
-				if ("XS".equals(selectOrder.getBillType())) {
+				if ("XS".equals(order.getBillType())) {
 					surplusRouteQuantity = surplusRouteQuantity.add(r.getData().getSurplusRouteQuantity().add(orderItems.getStorageInQuantity()));
 					balanceQuantity = balanceQuantity.add(surplusRouteQuantity);
-					balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPurchasePrice(), MathContext.DECIMAL32));
-					stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity, MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+					balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPrice(), MathContext.DECIMAL32));
+					if(new BigDecimal("0.00").equals(balanceQuantity)){
+						stockPrice = stockPrice.add(new BigDecimal("0.00"));
+					}else{
+						stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity, MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+					}
 					r.getData().setOutQuantity(r.getData().getOutQuantity().add(orderItems.getStorageInQuantity()));
 					r.getData().setOutAmount(r.getData().getOutAmount().add(orderItems.getAmount()));
 				} else {
 					surplusRouteQuantity = surplusRouteQuantity.add(r.getData().getSurplusRouteQuantity().subtract(orderItems.getStorageInQuantity()));
 					balanceQuantity = balanceQuantity.add(surplusRouteQuantity);
-					balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPrice(), MathContext.DECIMAL32));
+					balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPartsCost(), MathContext.DECIMAL32));
 					stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity, MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
 					r.getData().setInQuantity(r.getData().getInQuantity().subtract(orderItems.getStorageInQuantity()));
 					r.getData().setInAmount(r.getData().getInAmount().subtract(orderItems.getAmount()));

+ 15 - 8
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -5730,7 +5730,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							.eq(Order::getTenantId, AuthUtil.getTenantId())
 							.eq(Order::getTradeType, "YPJ")
 							.eq(Order::getCorpId, corpId)
-							.apply("find_in_set(bill_type,'XSTH,XS')")
+							.apply("find_in_set(bill_type,'XS')")
 							.in(Order::getStatus, list.stream().map(DictBiz::getDictKey).collect(Collectors.toList())));
 						map.put("count", count);
 					} else if ("1".equals(dictBiz.getDictKey())) {
@@ -6080,6 +6080,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				R<StockGoodsVO> r = stockGoodsClient.selectStockParts(null, orderItems.getStorageId(), orderItems.getItemId(), null, null, null, null, null, null);
 				if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
 					if ("XS".equals(order.getBillType())) {
+						String burden = sysClient.getParamService("burden");
+						if ("0".equals(burden) || ObjectUtils.isNull(burden)){
+							if(new BigDecimal("0.00").equals(r.getData().getSurplusRouteQuantity())){
+								throw new RuntimeException("该产品已售空");
+							}
+						}
 						surplusRouteQuantity = surplusRouteQuantity.add(r.getData().getSurplusRouteQuantity().subtract(orderItems.getStorageInQuantity()));
 						balanceQuantity = balanceQuantity.add(surplusRouteQuantity);
 
@@ -6326,6 +6332,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				R<StockGoodsVO> r = stockGoodsClient.selectStockParts(null, orderItems.getStorageId(), orderItems.getItemId(), null, null, null, null, null, null);
 				if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
 					if ("XS".equals(order.getBillType())) {
+						String burden = sysClient.getParamService("burden");
+						if ("0".equals(burden) || ObjectUtils.isNull(burden)){
+							if(new BigDecimal("0.00").equals(r.getData().getSurplusRouteQuantity())){
+								throw new RuntimeException("该产品已售空");
+							}
+						}
 						if (new BigDecimal("0.00").equals(r.getData().getSurplusRouteQuantity())) {
 							costAmount = costAmount.add(orderItems.getPurchasePrice().multiply(orderItems.getStorageInQuantity()));
 						} else {
@@ -6992,13 +7004,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			if (ObjectUtils.isNotNull(order.getCurrentAmount())) {
 				applyDTO.setSettlementAmount(order.getSettlmentAmount().add(order.getCurrentAmount()));
 			}
-			if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0) {
-			/*	List<Settlement> settlementList = order.getSettlementList().stream().filter(o -> o.getAccId() != null).collect(Collectors.toList());
-				if (ObjectUtils.isNotNull(settlementList) && settlementList.size() > 0){
-					applyDTO.setId(settlementList.get(0).getAccId());
-				}else{*/
+			/*if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0) {
 				applyDTO.setId(order.getSrcAccId());
-//				}
 				BigDecimal receivedAmount = order.getCurrentAmount();
 				receivedAmount = receivedAmount.add(order.getSettlmentAmount());
 				amount = amount.subtract(receivedAmount);
@@ -7014,7 +7021,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					order1.setActualPaymentStatus(1);
 				}
 				baseMapper.updateById(order1);
-			}
+			}*/
 			//生成账单
 			R paymentApply = financeClient.paymentApplyParts(applyDTO);
 			if (!paymentApply.isSuccess()) {

+ 1 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/wing/accessories/WebpageController.java

@@ -67,7 +67,7 @@ public class WebpageController {
 				lambdaQueryWrapper.eq(Order::getStatus, 3);//微信实际支付状态
 			} else if (ObjectUtils.isNotNull(order.getStatus()) && 13 == order.getStatus()) {
 				lambdaQueryWrapper.in(Order::getStatus, 7, 8, 9, 10, 11, 12);
-				lambdaQueryWrapper.apply("find_in_set(bill_type,'XS,XSTH')");
+				lambdaQueryWrapper.apply("find_in_set(bill_type,'XS')");
 			} else {
 				lambdaQueryWrapper.apply(Func.isNotEmpty(order.getBillType()), "find_in_set(bill_type,'" + order.getBillType() + "')");
 				lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStatus()), Order::getStatus, order.getStatus());//订单状态