修改供应商管理功能

This commit is contained in:
funny 2026-04-21 13:36:42 +08:00
parent 75f1df3ab5
commit f322b18b8c
3 changed files with 51 additions and 22 deletions

View File

@ -1,5 +1,7 @@
package com.nflg.qms.admin.controller; package com.nflg.qms.admin.controller;
import com.nflg.qms.admin.service.BasdeSerialNumberControllerService;
import com.nflg.qms.admin.service.ISendMessageService;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.QmsCoaTaskAddQO; import com.nflg.wms.common.pojo.qo.QmsCoaTaskAddQO;
@ -9,6 +11,9 @@ import com.nflg.wms.common.pojo.qo.QmsCoaTaskUpdateQO;
import com.nflg.wms.common.pojo.vo.QmsCoaTaskDetailVO; import com.nflg.wms.common.pojo.vo.QmsCoaTaskDetailVO;
import com.nflg.wms.common.pojo.vo.QmsCoaTaskMaterialVO; import com.nflg.wms.common.pojo.vo.QmsCoaTaskMaterialVO;
import com.nflg.wms.common.pojo.vo.QmsCoaTaskVO; import com.nflg.wms.common.pojo.vo.QmsCoaTaskVO;
import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.repository.entity.QmsCoaTask;
import com.nflg.wms.repository.entity.QmsTodoItem;
import com.nflg.wms.repository.service.IQmsCoaTaskService; import com.nflg.wms.repository.service.IQmsCoaTaskService;
import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.BaseController;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -29,6 +34,12 @@ public class QmsCoaTaskController extends BaseController {
@Resource @Resource
private IQmsCoaTaskService coaTaskService; private IQmsCoaTaskService coaTaskService;
@Resource
private List<ISendMessageService> sendMessageServices;
@Resource
private BasdeSerialNumberControllerService basdeSerialNumberControllerService;
/** /**
* 新增COA通知任务 * 新增COA通知任务
* 状态默认为0待发送 * 状态默认为0待发送
@ -69,6 +80,17 @@ public class QmsCoaTaskController extends BaseController {
@PostMapping("publish") @PostMapping("publish")
public ApiResult<Void> publish(@Valid @RequestBody QmsCoaTaskAddQO qo) { public ApiResult<Void> publish(@Valid @RequestBody QmsCoaTaskAddQO qo) {
coaTaskService.publish(qo); coaTaskService.publish(qo);
// 推送COA通知
QmsTodoItem qmsTodoItem = new QmsTodoItem()
.setCode(basdeSerialNumberControllerService.generateSerialNumber(32))
.setIsRead(false)
.setSourceTypeId(2046157760401182721L)
.setSourceId(coaTaskService.lambdaQuery().eq(QmsCoaTask::getMaterialId,qo.getMaterialNo()).one().getId())
.setCreateUserId(UserUtil.getUserId())
.setCreateUserName(UserUtil.getUserName())
.setCreateTime(java.time.LocalDateTime.now());
sendMessageServices.forEach(service -> service.sendSystemMessage(qmsTodoItem));
return ApiResult.success(); return ApiResult.success();
} }
@ -81,6 +103,16 @@ public class QmsCoaTaskController extends BaseController {
@PostMapping("send") @PostMapping("send")
public ApiResult<Void> send(@RequestBody List<Long> ids) { public ApiResult<Void> send(@RequestBody List<Long> ids) {
coaTaskService.send(ids); coaTaskService.send(ids);
// 推送COA通知
QmsTodoItem qmsTodoItem = new QmsTodoItem()
.setCode(basdeSerialNumberControllerService.generateSerialNumber(32))
.setIsRead(false)
.setSourceTypeId(2046157760401182721L)
.setSourceId(0L)
.setCreateUserId(UserUtil.getUserId())
.setCreateUserName(UserUtil.getUserName())
.setCreateTime(java.time.LocalDateTime.now());
sendMessageServices.forEach(service -> service.sendSystemMessage(qmsTodoItem));
return ApiResult.success(); return ApiResult.success();
} }

View File

@ -49,7 +49,7 @@ public class QmsSupplierSqeController extends BaseController {
} }
/** /**
* 设置用户为选中供应商绑定用户多对多以供应商为主体 * 设置用户为选中供应商全量替换负责人以供应商为主体
*/ */
@Transactional @Transactional
@PostMapping("setUser") @PostMapping("setUser")

View File

@ -125,18 +125,16 @@ public class QmsSupplierSqeMapServiceImpl extends ServiceImpl<QmsSupplierSqeMapM
@Transactional @Transactional
@Override @Override
public void setUser(Long supplierId, List<Long> userIds) { public void setUser(Long supplierId, List<Long> userIds) {
// 查询该供应商已存在的用户ID集合 // 先删除该供应商所有负责人关联
Set<Long> existUserIds = lambdaQuery() lambdaUpdate()
.eq(QmsSupplierSqeMap::getSupplierId, supplierId) .eq(QmsSupplierSqeMap::getSupplierId, supplierId)
.list() .remove();
.stream()
.map(QmsSupplierSqeMap::getUserId) // 再全量插入传入的用户列表
.collect(Collectors.toSet()); if (!CollectionUtils.isEmpty(userIds)) {
// 只插入不存在的记录跳过重复的
String operator = UserUtil.getUserName(); String operator = UserUtil.getUserName();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
List<QmsSupplierSqeMap> toAdd = userIds.stream() List<QmsSupplierSqeMap> toAdd = userIds.stream()
.filter(userId -> !existUserIds.contains(userId))
.map(userId -> new QmsSupplierSqeMap() .map(userId -> new QmsSupplierSqeMap()
.setSupplierId(supplierId) .setSupplierId(supplierId)
.setUserId(userId) .setUserId(userId)
@ -146,7 +144,6 @@ public class QmsSupplierSqeMapServiceImpl extends ServiceImpl<QmsSupplierSqeMapM
.setUpdateBy(operator) .setUpdateBy(operator)
.setUpdateTime(now)) .setUpdateTime(now))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (!toAdd.isEmpty()) {
saveBatch(toAdd); saveBatch(toAdd);
} }
} }