Ver código fonte

Merge remote-tracking branch 'origin/dev' into dev

纪新园 7 meses atrás
pai
commit
e8219ac107

+ 3 - 5
blade-service/blade-land/pom.xml

@@ -76,11 +76,9 @@
         </dependency>
 
         <dependency>
-            <groupId>com.sinoiov</groupId>
-            <artifactId>openapi-sdk</artifactId>
-            <version>6.0</version>
-            <scope>system</scope>
-            <systemPath>${project.basedir}/src/main/resources/lib/sinoiov.jar</systemPath>
+            <groupId>com.echepei</groupId>
+            <artifactId>sinoiov</artifactId>
+            <version>1.0</version>
         </dependency>
 
     </dependencies>

+ 3 - 3
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java

@@ -917,9 +917,9 @@ public class OrderController extends BladeController {
 		}
 		if ("d".equals(order.getSettlementType())) {
 //		if ("XS,TKXS".equals(order.getBsType())) {
-			lambdaQueryWrapper.apply("(( bs_type = 'XS' AND FIND_IN_SET( actual_payment_status, '1,3' ) AND generate_task = '已生成' AND total_money != payment_amount_tl)" +
-				" OR ( bs_type = 'TKXS' AND FIND_IN_SET( actual_payment_status, '1,3' ) AND generate_task = '已生成' AND total_money != payment_amount_tl)" +
-				" OR ( bs_type = 'GX' AND FIND_IN_SET( actual_payment_status, '1,3' ) AND status = '已发货' AND total_money != payment_amount_tl))");
+			lambdaQueryWrapper.apply("(( bs_type = 'XS' AND FIND_IN_SET( actual_payment_status, '1,3' ) AND generate_task = '已生成' AND (sales_amount + freight) != payment_amount_tl)" +
+				" OR ( bs_type = 'TKXS' AND FIND_IN_SET( actual_payment_status, '1,3' ) AND generate_task = '已生成' AND (sales_amount + freight) != payment_amount_tl)" +
+				" OR ( bs_type = 'GX' AND FIND_IN_SET( actual_payment_status, '1,3' ) AND status = '已发货' AND (sales_amount + freight) != payment_amount_tl))");
 			/*lambdaQueryWrapper.eq(PjOrder::getGenerateTask, "已生成")
 				.apply("find_in_set(actual_payment_status,'1,3')");*/
 		} else if ("c".equals(order.getSettlementType())) {

+ 13 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -3967,7 +3967,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			}, BigDecimal::add).setScale(2, RoundingMode.HALF_UP);
 			order.setSalesAmount(totalMoney);
 			order.setTotalMoney(totalMoney);
-			if (order.getGoodsTotalNum().compareTo(new BigDecimal(1)) == 0) {//只有一条轮胎加5元运费
+			BigDecimal one = new BigDecimal(CommonEnum.ONE.info);
+			String freight = sysClient.getParamService("freight");
+			BigDecimal freightAmount = ObjectUtils.isNotNull(freight) ? new BigDecimal(freight) : BigDecimal.ZERO;
+			BigDecimal goodsTotalNum = order.getGoodsTotalNum();
+			if (StringUtils.isNotBlank(order.getSrcOrdNo()) && !Objects.equals(order.getSrcOrdNo(), order.getOrdNo())) {
+				// srcorderno != orderno 时代表是小程序单, 小程单则加上拆分出去订单的数量
+				BigDecimal orderItemSum = orderMapper.selectGoodsNumBySrcOrderNo(order.getSrcOrdNo(), order.getId());
+				goodsTotalNum = goodsTotalNum.add(orderItemSum);
+			}
+			order.setTotalMoney(goodsTotalNum.compareTo(one) == 0 ? totalMoney.add(freightAmount): totalMoney);
+			order.setFreight(goodsTotalNum.compareTo(one) == 0 ? freightAmount : BigDecimal.ZERO);
+/*			if (order.getGoodsTotalNum().compareTo(new BigDecimal(1)) == 0) {//只有一条轮胎加5元运费
 				String freight = sysClient.getParamService("freight");
 				if (ObjectUtils.isNotNull(freight)) {
 					try {
@@ -3980,7 +3991,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				}
 			} else {
 				order.setFreight(new BigDecimal(0));
-			}
+			}*/
 			//毛利
 			order.setGrossProfit(order.getOrderItemsList().stream().map(PjOrderItems::getGrossProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 			//成本