Browse Source

达沃特需求更改

lazhaoqian 3 years ago
parent
commit
a80563de05

+ 10 - 1
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -924,5 +924,14 @@ public class Order implements Serializable {
 	 */
 	@ApiModelProperty(value = "出口客户地址联系人")
 	private String clientMessage;
-
+	/**
+	 * 箱体积
+	 */
+	@ApiModelProperty(value = "箱体积")
+	private BigDecimal cntrVolumn;
+	/**
+	 * 箱重量
+	 */
+	@ApiModelProperty(value = "箱重量")
+	private BigDecimal cntrWeight;
 }

+ 10 - 1
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/OrderItems.java

@@ -485,5 +485,14 @@ public class OrderItems implements Serializable {
 
 	@ApiModelProperty(value = "生成货款")
 	private Integer submitPay;
-
+	/**
+	 * 箱体积
+	 */
+	@ApiModelProperty(value = "箱体积")
+	private BigDecimal cntrVolumn;
+	/**
+	 * 箱重量
+	 */
+	@ApiModelProperty(value = "箱重量")
+	private BigDecimal cntrWeight;
 }

+ 10 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java

@@ -754,4 +754,14 @@ public class Order extends OrderBase {
 	 * 产生返利
 	 */
 	private BigDecimal createProfit;
+	/**
+	 * 箱体积
+	 */
+	@ApiModelProperty(value = "箱体积")
+	private BigDecimal cntrVolumn;
+	/**
+	 * 箱重量
+	 */
+	@ApiModelProperty(value = "箱重量")
+	private BigDecimal cntrWeight;
 }

+ 10 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java

@@ -459,4 +459,14 @@ public class OrderItems extends OrderBase {
 
 	@TableField(exist = false)
 	private String updateUserName;
+	/**
+	 * 箱体积
+	 */
+	@ApiModelProperty(value = "箱体积")
+	private BigDecimal cntrVolumn;
+	/**
+	 * 箱重量
+	 */
+	@ApiModelProperty(value = "箱重量")
+	private BigDecimal cntrWeight;
 }

+ 5 - 0
blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java

@@ -228,6 +228,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 					message.setMessageBody("您有交接单审核,请审核,"
 						+ " 提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
 					);
+				}else if ("销售特批审批".equals(auditProecessDTO.getProcessType())) {
+					message.setMessageBody("您有欠款发货审批,公司名:" + corpName + "," + "销售订单号:" +
+						"" + auditProecessDTO.getBillNo() + "," + "订单金额:" + auditProecessDTO.getAmount() + ",请审核。"
+						+ " 提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
+					);
 				}
 
 				message.setUrl("/approveData/index");

+ 43 - 3
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescController.java

@@ -1,5 +1,6 @@
 package org.springblade.client.corps.controller;
 
+import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -39,9 +40,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -422,5 +421,46 @@ public class CorpsDescController extends BladeController {
 		}
 		return corpsDescService.importFactoryData(excelList, false);
 	}
+	/**
+	 * 获取分管员
+	 */
+	@GetMapping("/adminProfiles")
+	@ApiOperationSupport(order = 10)
+	@ApiOperation(value = "获取分管员", notes = "客户类别必传")
+	public R<List<Map<String,Object>>> adminProfiles(CorpsDescVO corpsDesc) {
+		if (StringUtils.isBlank(corpsDesc.getCorpType())){
+			throw new SecurityException("请选择要查询的客户类别");
+		}
+		if (corpsDesc.getId() == null){
+			throw new SecurityException("请选择要查询的客户");
+		}
+		List<Map<String, Object>> mapList = new ArrayList<>();
+		LambdaQueryWrapper<CorpsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(CorpsDesc::getIsDeleted,0);
+		lambdaQueryWrapper.eq(CorpsDesc::getId,corpsDesc.getId());
+		lambdaQueryWrapper.eq(CorpsDesc::getTenantId,SecureUtil.getTenantId());
+		lambdaQueryWrapper.eq(CorpsDesc::getCorpType,corpsDesc.getCorpType());
+		List<CorpsDesc> corpsDescList = corpsDescService.list(lambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(corpsDescList)) {
+			corpsDescList.forEach(item -> {
+				if (StringUtils.isNotBlank(item.getAdminProfiles())) {
+					List<String> list = Arrays.asList(item.getAdminProfiles().split(","));
+					StringBuffer stringBuffer = new StringBuffer();
+					if (CollectionUtils.isNotEmpty(list)) {
+						list.forEach(items -> {
+							R<User> user = userClient.userInfoById(Long.valueOf(items));
+							if (user.isSuccess() && user.getData() != null) {
+								Map<String,Object> map = new HashMap<>();
+								map.put("id",items);
+								map.put("cname",user.getData().getName());
+								mapList.add(map);
+							}
+						});
+					}
+				}
+			});
+		}
+		return R.data(mapList);
+	}
 
 }

+ 23 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderItemsController.java

@@ -257,7 +257,7 @@ public class OrderItemsController extends BladeController {
 	}
 
 	@GetMapping("/dateset-export")
-	@ApiOperationSupport(order = 16)
+	@ApiOperationSupport(order = 17)
 	@ApiOperation(value = "数据明细导出", notes = "传入datasetVO")
 	public void datesetExport(DatasetVO datasetVO, HttpServletResponse response) {
 		List<DatasetVO> dataset = orderItemsService.dataset(datasetVO);
@@ -267,5 +267,27 @@ public class OrderItemsController extends BladeController {
 		}
 		ExcelUtil.export(response, "数据明细(N)", "数据明细(N)", list, DatasetExcel.class);
 	}
+	/**
+	 * 批量删除 订单明细表
+	 */
+	@PostMapping("/removeList")
+	@ApiOperationSupport(order = 18)
+	@ApiOperation(value = "批量删除 订单明细表", notes = "传入ids")
+	public R removeList(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		if (StringUtils.isBlank(ids)){
+			throw new SecurityException("请选择要删除的数据");
+		}
+		List<Long> list = Func.toLongList(ids);
+		if (CollectionUtils.isNotEmpty(list)){
+			list.stream().forEach(item ->{
+				OrderItems orderItems = new OrderItems();
+				orderItems.setId(item);
+				orderItems.setIsDeleted(1);
+				orderItemsService.updateById(orderItems);
+			});
+			return R.success("删除成功");
+		}
+		return R.fail("删除失败");
+	}
 
 }

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

@@ -261,7 +261,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		}
 		if (!order.getTradeType().equals(OrderTypeEnum.IMPORT.getType())) {
 			// 生成毛利润 毛利额
-			List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", order.getId()).eq("is_deleted", 0));
+			List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", order.getId()).eq("good_type",0).eq("is_deleted", 0));
 			Order orderMessage = new Order();
 			orderMessage.setId(order.getId());
 			if (CollectionUtils.isNotEmpty(list) && order.getTradeType().equals(OrderTypeEnum.DOMESTIC.getType())) {
@@ -271,7 +271,11 @@ 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.getCreateProfit() == null ? BigDecimal.ZERO : order.getCreateProfit());
-
+				//国内主表需要总重量总体积
+				//总重量求和
+				BigDecimal cntrVolumn = list.stream().reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getCntrVolumn().multiply(y.getOrderQuantity())), BigDecimal::add);
+				//总体积求和
+				BigDecimal cartonWeight = list.stream().reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getCntrWeight().multiply(y.getOrderQuantity())), BigDecimal::add);
 				// 毛利额添加应收费用(除包装费)
 				Long feeId = 0L;
 				R<FeesDesc> fees = feesDescClient.getFeesByName("包装费");
@@ -290,6 +294,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				orderMessage.setGrossProfit(grossProfit);
 				// 毛利率
 				orderMessage.setGrossProfitRate(grossProfitRate);
+				//总重量
+				orderMessage.setCntrVolumn(cntrVolumn);
+				//总提价
+				orderMessage.setCntrWeight(cartonWeight);
 			} else if (CollectionUtils.isNotEmpty(list) && order.getTradeType().equals(OrderTypeEnum.EXPORT.getType())) {
 				// 出口的毛利额=销售价 * 汇率 - (采购价+配件价格)    毛利率 =毛利额/(采购单价+配件价格)
 				// 金额求和
@@ -544,6 +552,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					// 计算主表总金额
 					BigDecimal itemTotalAmount = orderList.stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 					selectById.setOrderAmount(itemTotalAmount);
+					//国内订单需要体积和重量
+					if (StringUtils.isNotBlank(selectById.getTradeType()) && selectById.getTradeType().equals(OrderTypeEnum.DOMESTIC.getType())){
+						//总重量求和
+						selectById.setCntrVolumn(orderList.stream().reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getCntrVolumn().multiply(y.getOrderQuantity())), BigDecimal::add));
+						//总体积求和
+						selectById.setCntrWeight(orderList.stream().reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getCntrWeight().multiply(y.getOrderQuantity())), BigDecimal::add));
+					}
 					baseMapper.updateById(selectById);
 				}
 			});