|
|
@@ -28,6 +28,7 @@ import org.springblade.core.boot.ctrl.BladeController;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
+import org.springblade.core.tool.utils.StringUtil;
|
|
|
import org.springblade.land.entity.Order;
|
|
|
import org.springblade.land.entity.OrderItem;
|
|
|
import org.springblade.land.service.IOrderItemService;
|
|
|
@@ -41,7 +42,6 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 陆运订单明细表 控制器
|
|
|
@@ -151,21 +151,7 @@ public class OrderIndexController extends BladeController {
|
|
|
@ApiOperationSupport(order = 3)
|
|
|
@ApiOperation(value = "业务统计")
|
|
|
public R bizCount(Integer mold) {
|
|
|
- LambdaQueryWrapper<OrderItem> wrapper = new LambdaQueryWrapper<OrderItem>()
|
|
|
- .between(OrderItem::getCreateTime, getTime(true), getTime(false))
|
|
|
- .eq(OrderItem::getKind, 2)
|
|
|
- .eq(OrderItem::getIsDeleted, 0)
|
|
|
- .eq(OrderItem::getTenantId, AuthUtil.getTenantId());
|
|
|
-
|
|
|
- if (mold == 1) {
|
|
|
- wrapper.eq(OrderItem::getShippingMode, "集装箱");
|
|
|
- } else if (mold == 2) {
|
|
|
- wrapper.eq(OrderItem::getShippingMode, "散货");
|
|
|
- } else {
|
|
|
- wrapper.eq(OrderItem::getShippingMode, "特种车辆");
|
|
|
- }
|
|
|
-
|
|
|
- List<OrderItem> itemList = orderItemService.list(wrapper);
|
|
|
+ List<OrderItem> itemList = orderItemService.list(getBizWrapper(mold, 0));
|
|
|
|
|
|
Map<String, Object> data = new HashMap<>();
|
|
|
Map<String, Object> table;
|
|
|
@@ -201,32 +187,6 @@ public class OrderIndexController extends BladeController {
|
|
|
table.put("all", all);
|
|
|
table.put("list", tableTemp);
|
|
|
data.put("flow", table);
|
|
|
-
|
|
|
-
|
|
|
- // 部门统计
|
|
|
- Map<Long, Long> deptMap = itemList.stream().collect(Collectors.groupingBy(OrderItem::getSalesmanDept, Collectors.counting()));
|
|
|
-
|
|
|
- table = new HashMap<>();
|
|
|
- tableTemp = new ArrayList<>();
|
|
|
- for (Long key : deptMap.keySet()) {
|
|
|
- String deptName = "";
|
|
|
- if (!ObjectUtil.isEmpty(key)) {
|
|
|
- R<String> dept = sysClient.getDeptName(key);
|
|
|
- if (dept.isSuccess() && dept.getData() != null) {
|
|
|
- deptName = dept.getData();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- mapTemp = new HashMap<>();
|
|
|
- mapTemp.put("dept", key);
|
|
|
- mapTemp.put("name", deptName);
|
|
|
- mapTemp.put("value", deptMap.get(key));
|
|
|
- tableTemp.add(mapTemp);
|
|
|
- }
|
|
|
- table.put("all", all);
|
|
|
- table.put("list", tableTemp);
|
|
|
- data.put("dept", table);
|
|
|
-
|
|
|
return R.data(data);
|
|
|
}
|
|
|
|
|
|
@@ -236,19 +196,52 @@ public class OrderIndexController extends BladeController {
|
|
|
@GetMapping("/biz-detail")
|
|
|
@ApiOperationSupport(order = 4)
|
|
|
@ApiOperation(value = "业务详情")
|
|
|
- public R bizDetail(Integer mold, Long dept, Integer status) {
|
|
|
+ public R bizDetail(Integer mold, Integer status) {
|
|
|
+ List<OrderItem> itemList = orderItemService.list(getBizWrapper(mold, status));
|
|
|
+ itemList.forEach(item -> {
|
|
|
+ Order order = orderService.getById(item.getOrderId());
|
|
|
+ item.setBillNo(order.getBillNo());
|
|
|
+ item.setStation(order.getStation());
|
|
|
+ item.setAddressDetail(order.getAddressDetail());
|
|
|
+ item.setAllFeeD(item.getOneFeeD().add(item.getTwoFeeD()).add(item.getThreeFeeD()).add(item.getFourFeeD()).add(item.getFiveFeeD()));
|
|
|
+ item.setAllFeeC(item.getOneFeeC().add(item.getTwoFeeC()).add(item.getThreeFeeC()).add(item.getFourFeeC()).add(item.getFiveFeeC()));
|
|
|
+
|
|
|
+ if (!ObjectUtil.isEmpty(order.getSalesman())) {
|
|
|
+ R<User> user = userClient.userInfoById(order.getSalesman());
|
|
|
+ if (user.isSuccess() && user.getData() != null) {
|
|
|
+ item.setSalesmanName(user.getData().getRealName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return R.data(itemList);
|
|
|
+ }
|
|
|
+
|
|
|
+ private LambdaQueryWrapper<OrderItem> getBizWrapper(Integer mold, Integer status) {
|
|
|
LambdaQueryWrapper<OrderItem> wrapper = new LambdaQueryWrapper<OrderItem>()
|
|
|
.between(OrderItem::getCreateTime, getTime(true), getTime(false))
|
|
|
- .eq(ObjectUtil.isNotEmpty(dept), OrderItem::getSalesmanDept, dept)
|
|
|
.eq(OrderItem::getKind, 2)
|
|
|
.eq(OrderItem::getIsDeleted, 0)
|
|
|
.eq(OrderItem::getTenantId, AuthUtil.getTenantId());
|
|
|
|
|
|
+ // 获取角色
|
|
|
+ String userRole = AuthUtil.getUserRole();
|
|
|
+ if (userRole.contains("总经理")) {
|
|
|
+
|
|
|
+ } else if (userRole.contains("部门经理")) {
|
|
|
+ String deptId = AuthUtil.getDeptId();
|
|
|
+ if (StringUtil.isNotBlank(deptId)) {
|
|
|
+ wrapper.in(OrderItem::getSalesmanDept, Arrays.asList(deptId.split(",")));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ wrapper.eq(OrderItem::getSalesman, AuthUtil.getUserId());
|
|
|
+ }
|
|
|
+
|
|
|
if (mold == 1) {
|
|
|
wrapper.eq(OrderItem::getShippingMode, "集装箱");
|
|
|
} else if (mold == 2) {
|
|
|
wrapper.eq(OrderItem::getShippingMode, "散货");
|
|
|
- } else if (mold == 3){
|
|
|
+ } else {
|
|
|
wrapper.eq(OrderItem::getShippingMode, "特种车辆");
|
|
|
}
|
|
|
|
|
|
@@ -259,25 +252,7 @@ public class OrderIndexController extends BladeController {
|
|
|
} else if (status == 3){
|
|
|
wrapper.in(OrderItem::getStatus, 4);
|
|
|
}
|
|
|
-
|
|
|
- List<OrderItem> itemList = orderItemService.list(wrapper);
|
|
|
- itemList.forEach(item -> {
|
|
|
- Order order = orderService.getById(item.getOrderId());
|
|
|
- item.setBillNo(order.getBillNo());
|
|
|
- item.setStation(order.getStation());
|
|
|
- item.setAddressDetail(order.getAddressDetail());
|
|
|
- item.setAllFeeD(item.getOneFeeD().add(item.getTwoFeeD()).add(item.getThreeFeeD()).add(item.getFourFeeD()).add(item.getFiveFeeD()));
|
|
|
- item.setAllFeeC(item.getOneFeeC().add(item.getTwoFeeC()).add(item.getThreeFeeC()).add(item.getFourFeeC()).add(item.getFiveFeeC()));
|
|
|
-
|
|
|
- if (!ObjectUtil.isEmpty(order.getSalesman())) {
|
|
|
- R<User> user = userClient.userInfoById(order.getSalesman());
|
|
|
- if (user.isSuccess() && user.getData() != null) {
|
|
|
- item.setSalesmanName(user.getData().getRealName());
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- return R.data(itemList);
|
|
|
+ return wrapper;
|
|
|
}
|
|
|
|
|
|
private String getTime(boolean init) {
|