wms-入仓通知单打印查询

This commit is contained in:
zhaoqing
2026-04-18 18:37:55 +08:00
parent 38d497392b
commit 19eb93377c
6 changed files with 133 additions and 18 deletions
@@ -2133,11 +2133,125 @@ public class StockInOrderApplicationService {
return stockInOrderDomainService.queryInStockInfoByInOrderNumber(stockInOrderDTO);
}
public List<StockInOrderPO> queryNoticePrint(StockInOrderDTO stockInOrderDTO) {
return stockInOrderDomainService.queryNoticePrint(stockInOrderDTO);
public List<StockInOrderPO> queryNoticePrint(StockInOrderDO stockInOrderDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null && loginUser.getUserPo() != null){
Long userOrganizationId = loginUser.getUserPo().getOrganizationId();
Long frontendOrganizationId = stockInOrderDO.getOrganizationId(); // 前端传递的 organizationId
// 数据权限:根据 organizationId 来设置查询权限
// 当前登录用户的 organizationId 为 2827 时,可查全部组织数据;其他组织只能查自己
if (userOrganizationId != null && userOrganizationId == 2827L) {
// 南光组织(organizationId=2827):可以查询所有组织的数据
// 如果前端传递了 organizationId(包括2827或其他组织),使用前端传递的值进行过滤
// 如果前端没有传递 organizationId,清空组织过滤条件,查询所有组织的数据
if (frontendOrganizationId != null) {
// 前端传递了 organizationId(包括2827或其他组织),使用前端传递的值进行过滤
stockInOrderDO.setOrganizationId(frontendOrganizationId);
stockInOrderDO.setTopOrganizationId(null); // 明确设置为 null,避免使用 topOrganizationId 条件
} else {
// 前端没有传递 organizationId,清空组织过滤条件,查询所有组织的数据
stockInOrderDO.setOrganizationId(null);
stockInOrderDO.setTopOrganizationId(null);
}
} else {
// 其他组织:设置organizationId,只查询当前组织的数据
// 如果前端传递了 organizationId,验证是否与当前登录用户的组织ID一致
if (frontendOrganizationId != null && userOrganizationId != null) {
// 前端传递了 organizationId,验证是否与当前登录用户的组织ID一致
if (!frontendOrganizationId.equals(userOrganizationId)) {
// 前端传递了其他组织的 organizationId,强制使用当前登录用户的组织ID,防止越权查询
stockInOrderDO.setOrganizationId(userOrganizationId);
}
// 如果前端传递的 organizationId 与当前登录用户的组织ID一致,使用前端传递的值
} else {
// 前端没有传递 organizationId,使用当前登录用户的组织ID
if (userOrganizationId != null) {
stockInOrderDO.setOrganizationId(userOrganizationId);
}
}
// 只有当 organizationId 为 null 时,才使用 topOrganizationId 作为查询条件
// 如果 organizationId 不为 null,则优先使用 organizationId,不使用 topOrganizationId
if (stockInOrderDO.getOrganizationId() == null) {
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId != null && topOrganizationId != 1) {
stockInOrderDO.setTopOrganizationId(topOrganizationId);
}
} else {
// 对于非2827组织,必须设置 topOrganizationId=2827
stockInOrderDO.setTopOrganizationId(2827L);
}
}
// 前端有传warehouseId则优先使用传参;未传时才使用"用户关联仓库"作为默认值
if (stockInOrderDO.getWarehouseId() == null) {
AssociationWarehouseCacheDO associationWarehouseCacheDO =
SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
}
}
return stockInOrderDomainService.queryNoticePrint(stockInOrderDO);
}
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDTO stockInOrderDTO) {
return stockInOrderDomainService.queryNoticePrintDetail(stockInOrderDTO);
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null && loginUser.getUserPo() != null){
Long userOrganizationId = loginUser.getUserPo().getOrganizationId();
Long frontendOrganizationId = stockInOrderDO.getOrganizationId(); // 前端传递的 organizationId
// 数据权限:根据 organizationId 来设置查询权限
// 当前登录用户的 organizationId 为 2827 时,可查全部组织数据;其他组织只能查自己
if (userOrganizationId != null && userOrganizationId == 2827L) {
// 南光组织(organizationId=2827):可以查询所有组织的数据
// 如果前端传递了 organizationId(包括2827或其他组织),使用前端传递的值进行过滤
// 如果前端没有传递 organizationId,清空组织过滤条件,查询所有组织的数据
if (frontendOrganizationId != null) {
// 前端传递了 organizationId(包括2827或其他组织),使用前端传递的值进行过滤
stockInOrderDO.setOrganizationId(frontendOrganizationId);
stockInOrderDO.setTopOrganizationId(null); // 明确设置为 null,避免使用 topOrganizationId 条件
} else {
// 前端没有传递 organizationId,清空组织过滤条件,查询所有组织的数据
stockInOrderDO.setOrganizationId(null);
stockInOrderDO.setTopOrganizationId(null);
}
} else {
// 其他组织:设置organizationId,只查询当前组织的数据
// 如果前端传递了 organizationId,验证是否与当前登录用户的组织ID一致
if (frontendOrganizationId != null && userOrganizationId != null) {
// 前端传递了 organizationId,验证是否与当前登录用户的组织ID一致
if (!frontendOrganizationId.equals(userOrganizationId)) {
// 前端传递了其他组织的 organizationId,强制使用当前登录用户的组织ID,防止越权查询
stockInOrderDO.setOrganizationId(userOrganizationId);
}
// 如果前端传递的 organizationId 与当前登录用户的组织ID一致,使用前端传递的值
} else {
// 前端没有传递 organizationId,使用当前登录用户的组织ID
if (userOrganizationId != null) {
stockInOrderDO.setOrganizationId(userOrganizationId);
}
}
// 只有当 organizationId 为 null 时,才使用 topOrganizationId 作为查询条件
// 如果 organizationId 不为 null,则优先使用 organizationId,不使用 topOrganizationId
if (stockInOrderDO.getOrganizationId() == null) {
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId != null && topOrganizationId != 1) {
stockInOrderDO.setTopOrganizationId(topOrganizationId);
}
} else {
// 对于非2827组织,必须设置 topOrganizationId=2827
stockInOrderDO.setTopOrganizationId(2827L);
}
}
// 前端有传warehouseId则优先使用传参;未传时才使用"用户关联仓库"作为默认值
if (stockInOrderDO.getWarehouseId() == null) {
AssociationWarehouseCacheDO associationWarehouseCacheDO =
SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
}
}
return stockInOrderDomainService.queryNoticePrintDetail(stockInOrderDO);
}
}
@@ -45,7 +45,7 @@ public interface IStockInOrderService extends IService<StockInOrder>
List<StockInOrderPO> queryInStockInfoByInOrderNumber(StockInOrderDTO stockInOrderDTO);
List<StockInOrderPO> queryNoticePrint(StockInOrderDTO dto);
List<StockInOrderPO> queryNoticePrint(StockInOrderDO stockInOrderDO);
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDTO stockInOrderDTO);
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO);
}
@@ -24,7 +24,7 @@ public interface StockInOrderMapper extends BaseMapper<StockInOrder>
List<StockInOrderPO> queryInStockInfoByInOrderNumber(StockInOrderDTO stockInOrderDTO);
List<StockInOrderPO> queryNoticePrint(StockInOrderDTO stockInOrderDTO);
List<StockInOrderPO> queryNoticePrint(StockInOrderDO stockInOrderDO);
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDTO stockInOrderDTO);
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO);
}
@@ -91,12 +91,12 @@ public class StockInOrderImpl extends ServiceImpl<StockInOrderMapper, StockInOrd
}
@Override
public List<StockInOrderPO> queryNoticePrint(StockInOrderDTO stockInOrderDTO) {
return stockInOrderMapper.queryNoticePrint(stockInOrderDTO);
public List<StockInOrderPO> queryNoticePrint(StockInOrderDO stockInOrderDO) {
return stockInOrderMapper.queryNoticePrint(stockInOrderDO);
}
@Override
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDTO stockInOrderDTO) {
return stockInOrderMapper.queryNoticePrintDetail(stockInOrderDTO);
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO) {
return stockInOrderMapper.queryNoticePrintDetail(stockInOrderDO);
}
}
@@ -844,11 +844,11 @@ public class StockInOrderDomainService {
return stockInOrderService.queryInStockInfoByInOrderNumber(stockInOrderDTO);
}
public List<StockInOrderPO> queryNoticePrint(StockInOrderDTO stockInOrderDTO) {
return stockInOrderService.queryNoticePrint(stockInOrderDTO);
public List<StockInOrderPO> queryNoticePrint(StockInOrderDO stockInOrderDO) {
return stockInOrderService.queryNoticePrint(stockInOrderDO);
}
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDTO stockInOrderDTO) {
return stockInOrderService.queryNoticePrintDetail(stockInOrderDTO);
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO) {
return stockInOrderService.queryNoticePrintDetail(stockInOrderDO);
}
}
@@ -190,8 +190,9 @@ public class StockInOrderApi extends BaseController {
@ApiOperation("入仓通知单打印查询")
@PostMapping("/queryNoticePrint")
public AjaxResult queryNoticePrint(@RequestBody StockInOrderDTO stockInOrderDTO) {
List<StockInOrderPO> headerList = stockInOrderApplicationService.queryNoticePrint(stockInOrderDTO);
List<InMaterialDetailPO> detailList = stockInOrderApplicationService.queryNoticePrintDetail(stockInOrderDTO);
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
List<StockInOrderPO> headerList = stockInOrderApplicationService.queryNoticePrint(stockInOrderDO);
List<InMaterialDetailPO> detailList = stockInOrderApplicationService.queryNoticePrintDetail(stockInOrderDO);
Map<String, Object> result = new HashMap<>();
if (!headerList.isEmpty()) {
result.put("header", headerList.get(0));