工艺bug修复

liweidong
liweidong-hj 7 hours ago
parent 56fdeef3ce
commit 59f1b6b3a7
  1. 4
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  2. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/constant/TaskingConstant.java
  3. 61
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBindController.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IOrderBoxService.java
  6. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java
  7. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskServiceImpl.java

@ -31,8 +31,8 @@ public interface LauncherConstant {
/**
* nacos dev 地址
*/
// String NACOS_DEV_ADDR = "192.168.249.27:8848";
String NACOS_DEV_ADDR = "127.0.0.1:8848";
String NACOS_DEV_ADDR = "192.168.249.27:8848";
// String NACOS_DEV_ADDR = "127.0.0.1:8848";
/**R
* nacos prod 地址

@ -121,4 +121,10 @@ public interface TaskingConstant {
* 是否是检验工序
*/
Integer IS_CHECKOUT = 1;
/**
* 工艺员角色名称
*/
String RB_CREAT = "rb_craft";
String SJ_CREAT = "sj_craft";
}

@ -47,6 +47,7 @@ import org.springblade.desk.dashboard.pojo.dto.DsTaskingDTO;
import org.springblade.desk.dashboard.pojo.entity.*;
import org.springblade.desk.dashboard.pojo.vo.*;
import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.logistics.pojo.vo.TaskVO;
import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.service.IMoldDemandService;
@ -487,27 +488,12 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
dsTasking.setTaskStatusList(list);
}
String roleName = AuthUtil.getUser().getRoleName();
if("rb_craft".equals(roleName) || "sj_craft".equals(roleName)){
if (roleName != null && (roleName.contains(TaskingConstant.SJ_CREAT) || roleName.contains(TaskingConstant.RB_CREAT))) {
dsTasking.setCraftMan(AuthUtil.getUser().getUserId().toString());
};
}
List<DsTaskingVO> dsTaskingList = baseMapper.selectDisposeList(page, dsTasking);
if(!CollectionUtils.isEmpty(dsTaskingList)){
for (DsTaskingVO dsTaskingVO : dsTaskingList) {
if(org.apache.commons.lang3.StringUtils.isNotEmpty(dsTaskingVO.getCraftMan())){
// 安全获取用户名称
try {
R<UserInfo> userInfoR = userClient.userInfo(Func.toLong(dsTaskingVO.getCraftMan()));
if (userInfoR != null && userInfoR.getData() != null) {
User user = userInfoR.getData().getUser();
if (user != null) {
dsTaskingVO.setCraftMan(user.getRealName());
}
}
} catch (Exception e) {
log.error("获取用户信息失败, userId: {}",dsTaskingVO.getCraftMan(), e);
}
}
String partCode = dsTaskingVO.getPartCode();
String version = dsTaskingVO.getVersion();
DsPartEntity partEntity = partService.selectDsPartByPatCodeAndVersion(partCode,version);
@ -565,8 +551,49 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
}
}
}
// 收集所有需要查询的 userId(去重)
Set<String> userIdSet = dsTaskingList.stream()
.map(DsTaskingVO::getCraftMan)
.filter(Objects::nonNull)
.map(String::valueOf)
.collect(Collectors.toSet());
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(userIdSet)) {
// 批量查询用户信息
String userIds = userIdSet.stream()
.map(String::valueOf)
.collect(Collectors.joining(","));
try {
List<User> userList = userClient.userListByIds(userIds);
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(userList)) {
Map<Long, User> userMap = userList.stream()
.filter(user -> user != null && user.getId() != null)
.collect(Collectors.toMap(
User::getId,
user -> user,
(existing, replacement) -> existing
));
// 批量设置用户名称
for (DsTaskingVO dsTaskingVO : dsTaskingList) {
String craftMan = dsTaskingVO.getCraftMan();
if (craftMan != null) {
User user = userMap.get(Func.toLong(craftMan));
if (user != null) {
dsTaskingVO.setCraftMan(user.getName());
}
}
}
}
} catch (Exception e) {
log.error("批量获取用户信息失败, userIds: {}", userIds, e);
}
}
}
return page.setRecords(dsTaskingList);
}

@ -102,7 +102,7 @@ public class OrderBindController {
public R getBoxbarcodeDetails(@RequestParam String boxBarcode,
@RequestParam boolean isDetail) {
return iOrderBoxService.getBoxbarcodeDetails(boxBarcode,isDetail);
return iOrderBoxService.getBoxbarcodeDetails(boxBarcode,isDetail,null);
}
}

@ -51,7 +51,7 @@ public interface IOrderBoxService {
R getQuantityLocation(String boxBarcode);
R getBoxbarcodeDetails( String boxBarcode,boolean isDetail);
R getBoxbarcodeDetails( String boxBarcode,boolean isDetail,Long taskId);
R getStationNameBoxBarcode(String stationCode);

@ -1092,13 +1092,11 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
* 查询箱条码详细信息
* <p>查询箱条码绑定的订单详情总重量数量工位区域等信息</p>
*
*
* @param orderBindId 订单绑定表ID
* @param boxBarcode 箱条码
* @return R<BoxbarcodeDetailsVO> 箱条码详细信息
*/
@Override
public R getBoxbarcodeDetails(String boxBarcode,boolean isDetail) {
public R getBoxbarcodeDetails(String boxBarcode,boolean isDetail,Long taskId) {
List<OrderBind> orderBindList = null;
String bindBoxBarcode = null;
@ -1107,6 +1105,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
orderBindList = orderBindService.list(
Wrappers.lambdaQuery(OrderBind.class)
.eq(OrderBind::getBoxBarcode, boxBarcode)
.eq(taskId != null, OrderBind::getTaskId, taskId)
);
bindBoxBarcode = boxBarcode;
@ -1287,7 +1286,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
}
// 3. 查询最新任务关联的箱条码详情并填充VO
R boxbarcodeDetailsR = getBoxbarcodeDetails(taskList.get(0).getBoxBarcode(),false);
R boxbarcodeDetailsR = getBoxbarcodeDetails(taskList.get(0).getBoxBarcode(),false,null);
if (!boxbarcodeDetailsR.isSuccess()) {
return boxbarcodeDetailsR;
}

@ -186,7 +186,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
// 任务对应的物料 - 处理空指针
if (StringUtils.isNotEmpty(boxBarcode)) {
R boxbarcodeDetailsR = orderBoxService.getBoxbarcodeDetails(boxBarcode,true);
R boxbarcodeDetailsR = orderBoxService.getBoxbarcodeDetails(boxBarcode,true,taskId);
if (boxbarcodeDetailsR != null && boxbarcodeDetailsR.isSuccess() && boxbarcodeDetailsR.getData() != null) {
taskDetailsVO.setBoxbarcodeDetailsVO((BoxbarcodeDetailsVO) boxbarcodeDetailsR.getData());
}

Loading…
Cancel
Save