瀏覽代碼

达沃特修改

Signed-off-by: sunhz <mpcoo@foxmail.com>
sunhz 3 年之前
父節點
當前提交
2017f6f3d4

+ 4 - 6
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -163,8 +163,6 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			baseMapper.insert(delivery);
 
 			if (ObjectUtil.isNotEmpty(delivery.getOrgId()) && ObjectUtil.isNotEmpty(delivery.getSrcId())) {
-				Order orderTemp = new Order();
-				orderTemp.setId(delivery.getSrcId());
 				if (delivery.getBillType().equals(OrderTypeEnum.RECEIPT.getType())) {
 					Order temp = new Order();
 					temp.setId(delivery.getOrgId());
@@ -173,14 +171,14 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 					temp.setCreateFreightTime(new Date());
 					temp.setOrderStatus("待发货");
 					orderDescClient.updateOrder(temp);
-
-					orderTemp.setOrderStatus("待发货");
 				} else {
+					Order orderTemp = new Order();
+					orderTemp.setId(delivery.getSrcId());
 					orderTemp.setCreateFreight(1);
 					orderTemp.setCreateFreightUser(AuthUtil.getUserName());
 					orderTemp.setCreateFreightTime(new Date());
+					orderDescClient.updateOrder(orderTemp);
 				}
-				orderDescClient.updateOrder(orderTemp);
 			}
 		} else {
 			if (delivery.getLogisticsConfirm() == 0 || delivery.getAssistantConfirm() == 0) {
@@ -266,7 +264,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			List<Map<String, Object>> storageMessage = iStorageClient.getStorageMessage(selectById.getStorageId());
 			selectById.setStorageMap(storageMessage);
 		}
-		if (selectById.getAllotStorageId() != null){
+		if (selectById.getAllotStorageId() != null) {
 			//调拨仓库信息
 			List<Map<String, Object>> storageMessage = iStorageClient.getStorageMessage(selectById.getAllotStorageId());
 			selectById.setAllotStorageMap(storageMessage);

+ 14 - 4
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/feign/SalesPolicyClient.java

@@ -3,6 +3,7 @@ package org.springblade.mocha.feign;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.AllArgsConstructor;
 import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.mocha.entity.SalesPolicy;
 import org.springblade.mocha.entity.SalesPolicyItem;
@@ -12,6 +13,9 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 @NonDS
 @ApiIgnore()
 @RestController
@@ -25,16 +29,22 @@ public class SalesPolicyClient implements ISalesPolicyClient {
 	@Override
 	@GetMapping(GET_POLICY_NAME)
 	public String getPolicyName(Long id) {
-		SalesPolicyItem item = salesPolicyItemService.getOne(new LambdaQueryWrapper<SalesPolicyItem>()
+		List<SalesPolicyItem> itemList = salesPolicyItemService.list(new LambdaQueryWrapper<SalesPolicyItem>()
 			.eq(SalesPolicyItem::getItemId, id)
 			.eq(SalesPolicyItem::getIsDeleted, 0)
-			.last("limit 1")
 		);
-		if (ObjectUtil.isEmpty(item) || ObjectUtil.isEmpty(item.getPid())) {
+
+		if (CollectionUtil.isEmpty(itemList)) {
 			return null;
 		}
 
-		SalesPolicy policy = salesPolicyService.getById(item.getPid());
+		List<Long> idList = itemList.stream().map(SalesPolicyItem::getPid).distinct().collect(Collectors.toList());
+		SalesPolicy policy = salesPolicyService.getOne(new LambdaQueryWrapper<SalesPolicy>()
+			.in(SalesPolicy::getId, idList)
+			.eq(SalesPolicy::getIsDeleted, 0)
+			.last("limit 1")
+		);
+
 		if (ObjectUtil.isEmpty(policy) || ObjectUtil.isEmpty(policy.getCname())) {
 			return null;
 		}

+ 0 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderItemsServiceImpl.java

@@ -110,7 +110,6 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
 			if (goods.isSuccess() && goods.getData() != null) {
 				OrderItems orderItems = new OrderItems();
 				orderItems.setCode(item.getCode());
-				orderItems.setPriceType(salesPolicyClient.getPolicyName(goods.getData().getId()));
 				orderItems.setOrderQuantity(item.getOrderQuantity());
 				orderItems.setCname(goods.getData().getCname());//商品名称
 				orderItems.setItemId(goods.getData().getId());//商品id

+ 13 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -41,6 +41,7 @@ import org.springblade.common.utils.NumToWords;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.finance.dto.ApplyDTO;
 import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.finance.vojo.Items;
@@ -269,6 +270,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				// 金额求和
 				BigDecimal amount = list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 				BigDecimal grossProfit = amount.subtract(reduce.add(order.getPredictOceanFreight())).subtract(order.getThisUsedProfit() == null ? BigDecimal.ZERO : order.getThisUsedProfit());
+
+				// 毛利额添加应收费用(除包装费)
+				Long feeId = 0L;
+				R<FeesDesc> fees = feesDescClient.getFeesByName("包装费");
+				if (fees.isSuccess() && ObjectUtil.isNotEmpty(fees.getData())) {
+					feeId = fees.getData().getId();
+				}
+				List<OrderFees> feeList = orderFeesService.list(new LambdaQueryWrapper<OrderFees>().eq(OrderFees::getPid, order.getId()).ne(OrderFees::getItemId, feeId).eq(OrderFees::getIsDeleted, 0));
+				BigDecimal totalFee = feeList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+				grossProfit = grossProfit.add(totalFee);
+
 				BigDecimal grossProfitRate = new BigDecimal(BigInteger.ZERO);
 				if (amount.compareTo(BigDecimal.ZERO) > 0) {
 					grossProfitRate = (grossProfit.divide(amount, RoundingMode.CEILING)).multiply(new BigDecimal(100));
@@ -517,6 +529,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						items.setAmount(items.getPurchaseAmount().multiply(items.getOrderQuantity()));
 						items.setPid(selectById.getId());
 						items.setId(null);
+						items.setSubmitPay(0);
 						items.setCreateTime(new Date());
 						items.setCreateUser(SecureUtil.getUserId());
 						items.setUpdateTime(null);