Browse Source

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

lazhaoqian 3 years ago
parent
commit
4be75037b0

+ 10 - 5
blade-service-api/blade-land-api/src/main/java/org/springblade/land/entity/Order.java

@@ -88,6 +88,16 @@ public class Order implements Serializable {
 	@ApiModelProperty(value = "业务员部门")
 	private Long salesmanDept;
 	/**
+	 * 调度员
+	 */
+	@ApiModelProperty(value = "调度员")
+	private Long dispatcher;
+	/**
+	 * 调度部门
+	 */
+	@ApiModelProperty(value = "调度部门")
+	private Long dispatchDept;
+	/**
 	 * 电话
 	 */
 	@ApiModelProperty(value = "电话")
@@ -181,11 +191,6 @@ public class Order implements Serializable {
 	@ApiModelProperty(value = "备注")
 	private String remarks;
 	/**
-	 * 分管员
-	 */
-	@ApiModelProperty(value = "分管员")
-	private String adminProfiles;
-	/**
 	 * 地址
 	 */
 	@ApiModelProperty(value = "地址")

+ 4 - 1
blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java

@@ -91,6 +91,9 @@ public class User extends TenantEntity {
 	 * 岗位id
 	 */
 	private String postId;
-
+	/**
+	 * 顶级部门id
+	 */
+	private String deptPid;
 
 }

+ 8 - 8
blade-service/blade-land/src/main/java/org/springblade/land/controller/OrderIndexController.java

@@ -215,15 +215,15 @@ public class OrderIndexController extends BladeController {
 
 		// 获取角色
 		String userRole = AuthUtil.getUserRole();
-		if (userRole.contains(LandConst.POST_ZJL) || userRole.contains(LandConst.ROLE_ADMIN)) {
-
-		} else if (userRole.contains(LandConst.POST_JL)) {
-			String deptId = AuthUtil.getDeptId();
-			if (StringUtil.isNotBlank(deptId)) {
-				acctVO.setSalesmanDeptList(Arrays.stream(deptId.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()));
+		if (userRole.contains(LandConst.ROLE_KH)) {
+			if (userRole.contains(LandConst.POST_JL)) {
+				String deptId = AuthUtil.getDeptId();
+				if (StringUtil.isNotBlank(deptId)) {
+					acctVO.setSalesmanDeptList(Arrays.stream(deptId.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()));
+				}
+			} else if (userRole.contains(LandConst.POST_YW)) {
+				acctVO.setSalesman(AuthUtil.getUserId());
 			}
-		} else {
-			acctVO.setSalesman(AuthUtil.getUserId());
 		}
 
 		if (mold == 1) {

+ 2 - 1
blade-service/blade-land/src/main/java/org/springblade/land/mapper/OrderMapper.xml

@@ -33,7 +33,8 @@
                t1.salesman,
                t1.salesman_dept as salesmanDept,
                t1.create_user as createUser,
-               t1.admin_profiles as adminProfiles,
+               t1.dispatcher,
+               t1.dispatch_dept as dispatchDept,
                t2.arrival_time as arrivalTime,
                t5.name as salesmanName,
                t1.address_detail as addressDetail,

+ 3 - 6
blade-service/blade-land/src/main/java/org/springblade/land/service/impl/OrderItemServiceImpl.java

@@ -699,12 +699,9 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
 			item.setDriverName(driver.getName());
 		}
 		Order order = orderMapper.selectById(item.getOrderId());
-		if (StringUtil.isNotBlank(order.getAdminProfiles())) {
-			List<String> idList = Arrays.asList(order.getAdminProfiles().split(","));
-			idList.forEach(id -> {
-				item.setSendUserId(Long.valueOf(id));
-				sendMsg(MessageUtil.toUser(item, mold));
-			});
+		if (ObjectUtil.isNotEmpty(order.getDispatcher())) {
+			item.setSendUserId(order.getDispatcher());
+			sendMsg(MessageUtil.toUser(item, mold));
 		}
 	}
 

+ 7 - 21
blade-service/blade-land/src/main/java/org/springblade/land/service/impl/OrderServiceImpl.java

@@ -434,14 +434,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	@GlobalTransactional(rollbackFor = Exception.class)
 	public Long saveOrder(Order order) {
 		if (ObjectUtil.isEmpty(order.getId())) {
-			order.setAdminProfiles(getCorpName(order.getCorpId()));
 			order.setOrderNo(getSerial());
 			order.setTenantId(AuthUtil.getTenantId());
 			order.setCreateUser(AuthUtil.getUserId());
 			order.setCreateTime(new Date());
 			baseMapper.insert(order);
 		} else {
-			order.setAdminProfiles(getCorpName(order.getCorpId()));
 			order.setUpdateUser(AuthUtil.getUserId());
 			order.setUpdateTime(new Date());
 			baseMapper.updateById(order);
@@ -507,7 +505,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	@Transactional(rollbackFor = Exception.class)
 	@GlobalTransactional(rollbackFor = Exception.class)
 	public Long changeOrder(Order order) {
-		order.setAdminProfiles(getCorpName(order.getCorpId()));
 		order.setUpdateUser(AuthUtil.getUserId());
 		order.setUpdateTime(new Date());
 		baseMapper.updateById(order);
@@ -759,14 +756,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		});
 	}
 
-	private String getCorpName(Long corpId) {
-		R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(corpId);
-		if (corpMessage.isSuccess() && corpMessage.getData() != null) {
-			return corpMessage.getData().getAdminProfiles();
-		}
-		return null;
-	}
-
 	private void buildCtn(Integer ctnQuantity, BigDecimal landWeight, Order order, OrderItem item) {
 		IntStream.range(0, ctnQuantity).forEach(i -> {
 			OrderItem childItem = new OrderItem();
@@ -791,17 +780,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			orderChangeMapper.insert(change);
 		});
 
-		if (StringUtil.isNotBlank(order.getAdminProfiles())) {
-			List<String> idList = Arrays.asList(order.getAdminProfiles().split(","));
-			idList.forEach(id -> {
-				item.setSendUserId(Long.valueOf(id));
-				Message message = MessageUtil.toUser(item, "TJ");
+		if (ObjectUtil.isNotEmpty(order.getDispatcher())) {
+			item.setSendUserId(order.getDispatcher());
+			Message message = MessageUtil.toUser(item, "TJ");
 
-				R result = messageClient.save(message);
-				if (!result.isSuccess()) {
-					throw new SecurityException("发送消息失败");
-				}
-			});
+			R result = messageClient.save(message);
+			if (!result.isSuccess()) {
+				throw new SecurityException("发送消息失败");
+			}
 		}
 	}
 

+ 26 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -38,6 +38,7 @@ import org.springblade.core.tool.utils.*;
 import org.springblade.system.cache.DictCache;
 import org.springblade.system.cache.ParamCache;
 import org.springblade.system.cache.SysCache;
+import org.springblade.system.entity.Dept;
 import org.springblade.system.entity.Tenant;
 import org.springblade.system.enums.DictEnum;
 import org.springblade.system.feign.ISysClient;
@@ -55,6 +56,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static org.springblade.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
 
@@ -76,6 +78,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean submit(User user) {
+		if (StringUtil.isNotBlank(user.getDeptId())) {
+			user.setDeptPid(selectTopId(user.getDeptId()));
+		}
 		if (StringUtil.isBlank(user.getTenantId())) {
 			user.setTenantId(BladeConstant.ADMIN_TENANT_ID);
 		}
@@ -106,6 +111,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean updateUser(User user) {
+		if (StringUtil.isNotBlank(user.getDeptId())) {
+			user.setDeptPid(selectTopId(user.getDeptId()));
+		}
 		String tenantId = user.getTenantId();
 		Integer userCount = baseMapper.selectCount(
 			Wrappers.<User>query().lambda()
@@ -428,4 +436,22 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 		return baseMapper.gainUser(tenantId);
 	}
 
+	/**
+	 * 查询顶级部门ID
+	 */
+	private String selectTopId(String deptId) {
+		List<String> idList = Arrays.asList(deptId.split(","));
+		List<String> pidList = new ArrayList<>();
+		idList.forEach(id -> {
+			R<Dept> deptR = sysClient.getDept(Long.valueOf(id));
+			String[] ancestors = deptR.getData().getAncestors().split(",");
+			if (ancestors.length > 1) {
+				pidList.add(ancestors[1]);
+			} else {
+				pidList.add(deptId);
+			}
+		});
+		return pidList.stream().distinct().collect(Collectors.joining(","));
+	}
+
 }