超市erp接口修复完善
This commit is contained in:
1 parent
9328cb47f2
commit
bcd6bdebc0
7 files changed
+59
-12
No files matched your search
+6
-2
@@ -51,8 +51,8 @@ public class SmErpInventoryRecordsEntity extends Model<SmErpInventoryRecordsEnti
|
||||
/**
|
||||
* 来源ID(根据类型指向对应的表,如采购单ID、退货单ID等)
|
||||
*/
|
||||
@Schema(description="来源ID(根据类型指向对应的表,如采购单ID、退货单ID等)")
|
||||
private Long sourceId;
|
||||
@Schema(description="来源code")
|
||||
private String linkCode;
|
||||
|
||||
/**
|
||||
* 仓库id
|
||||
@@ -165,4 +165,8 @@ public class SmErpInventoryRecordsEntity extends Model<SmErpInventoryRecordsEnti
|
||||
@Schema(description="商品名称")
|
||||
@TableField(exist = false)
|
||||
private String productName;
|
||||
|
||||
@Schema(description="经办人名称")
|
||||
@TableField(exist = false)
|
||||
private String handlerUserName;
|
||||
}
|
||||
+1
-1
@@ -145,5 +145,5 @@ public class SmErpUnitEntity extends Model<SmErpUnitEntity> {
|
||||
|
||||
|
||||
@Schema(description = "是否是基础库存,默认0否,1是")
|
||||
private String isBase;
|
||||
private Boolean isBase;
|
||||
}
|
||||
+5
@@ -39,6 +39,8 @@ public class InventoryRecordVo {
|
||||
private Long handlerUserId;
|
||||
|
||||
|
||||
@Schema(description="供应商id")
|
||||
private Long supplierId;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@@ -66,6 +68,9 @@ public class InventoryRecordVo {
|
||||
private String checkStatus;
|
||||
|
||||
|
||||
@Schema(description="关联码")
|
||||
private String linkCode;
|
||||
|
||||
/**
|
||||
* @link InventoryRecordItemVo
|
||||
*/
|
||||
|
||||
+4
-3
@@ -111,10 +111,11 @@ public class SmErpSpuController {
|
||||
//库存
|
||||
LambdaQueryWrapper<SmErpStockEntity> smErpStockEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpStockEntityLambdaQueryWrapper.eq(SmErpStockEntity::getErpSpuId, id);
|
||||
SmErpStockEntity smErpStockEntity = smErpStockService.list(smErpStockEntityLambdaQueryWrapper).get(0);
|
||||
SmErpStockEntity smErpStockEntity = smErpStockService.getOne(smErpStockEntityLambdaQueryWrapper);
|
||||
smErpSpuEntity.setStock(smErpStockEntity.getBaseStock());
|
||||
smErpStockEntity.setInventoryLowerLimit(smErpStockEntity.getInventoryLowerLimit());
|
||||
smErpStockEntity.setInventoryUpperLimit(smErpStockEntity.getInventoryUpperLimit());
|
||||
smErpSpuEntity.setInventoryLowerLimit(smErpStockEntity.getInventoryLowerLimit());
|
||||
smErpSpuEntity.setInventoryUpperLimit(smErpStockEntity.getInventoryUpperLimit());
|
||||
|
||||
List<SmErpUnitEntity> list = smErpUnitService.list(new LambdaQueryWrapper<SmErpUnitEntity>().eq(SmErpUnitEntity::getSpuId, id));
|
||||
smErpSpuEntity.setSmErpUnitEntityList(list);
|
||||
smErpSpuEntity.setSmErpAuxiliaryCodeEntityList(
|
||||
|
||||
+21
-1
@@ -3,6 +3,8 @@ package com.bsd.pjcloud.supermarket.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
|
||||
import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
@@ -25,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
/**
|
||||
* 出入库记录表
|
||||
@@ -45,6 +48,8 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
private final SmErpSpuMapper smErpSpuMapper;
|
||||
|
||||
private final SmErpUnitMapper smErpUnitMapper;
|
||||
|
||||
private final RemoteUserService remoteUserService;
|
||||
@Override
|
||||
@Transactional
|
||||
public Object saveInventoryRecord(InventoryRecordSaveDTO inventoryRecordSaveDTO) {
|
||||
@@ -54,8 +59,13 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
smErpCgDdEntity.setDeptId(deptId);
|
||||
smErpCgDdEntity.setCheckStatus("0");
|
||||
smErpCgDdEntity.setDeptId(deptId);
|
||||
int insert = baseMapper.insert(smErpCgDdEntity);
|
||||
|
||||
List<InventoryRecordSaveItemDTO> items = inventoryRecordSaveDTO.getItems();
|
||||
//计算主表总金额
|
||||
int sum = items.stream().mapToInt(InventoryRecordSaveItemDTO::getTotalAmount).sum();
|
||||
smErpCgDdEntity.setTotalAmount(sum);
|
||||
int insert = baseMapper.insert(smErpCgDdEntity);
|
||||
|
||||
List<SmErpInventoryRecordsItemEntity> cgPlanItemEntities = BeanUtils.toBean(items, SmErpInventoryRecordsItemEntity.class);
|
||||
List<UpdateStockDTO> updateStockDTOS = new ArrayList<>();
|
||||
for (SmErpInventoryRecordsItemEntity cgPlanItemEntity : cgPlanItemEntities) {
|
||||
@@ -96,6 +106,14 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
Set<Long> planIds = records.stream()
|
||||
.map(SmErpInventoryRecordsEntity::getId)
|
||||
.collect(Collectors.toSet());
|
||||
//收集userids
|
||||
Set<Long> userIds = records.stream()
|
||||
.map(SmErpInventoryRecordsEntity::getHandlerUserId)
|
||||
.collect(Collectors.toSet());
|
||||
//请求得到所有的userIds
|
||||
Map<Long, SysUser> userMap = remoteUserService.getUserMap(userIds).getData();
|
||||
|
||||
|
||||
LambdaQueryWrapper<SmErpInventoryRecordsItemEntity> smErpCgPlanItemEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpCgPlanItemEntityLambdaQueryWrapper.in(SmErpInventoryRecordsItemEntity::getInventoryId,planIds);
|
||||
List<SmErpInventoryRecordsItemEntity> cgPlanItemEntities = smErpInventoryRecordsItemMapper.selectList(smErpCgPlanItemEntityLambdaQueryWrapper);
|
||||
@@ -116,6 +134,8 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
));
|
||||
// 设置商品名称到主表实体
|
||||
records.forEach(plan -> {
|
||||
SysUser sysUser = userMap.getOrDefault(plan.getHandlerUserId(), new SysUser());
|
||||
plan.setHandlerUserName(sysUser.getUsername());
|
||||
List<String> names = planGoodsMap.getOrDefault(plan.getId(), Collections.emptyList());
|
||||
plan.setProductName(String.join(", ", names));
|
||||
});
|
||||
|
||||
+21
-4
@@ -33,8 +33,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -60,7 +59,6 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
@Override
|
||||
@Transactional
|
||||
public R saveSpu(SmErpSpuEntity supermarketSpu) {
|
||||
|
||||
baseMapper.insert(supermarketSpu);
|
||||
|
||||
//库存表
|
||||
@@ -194,7 +192,26 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
|
||||
@Override
|
||||
public Object pageScope(Page page, LambdaQueryWrapper<SmErpSpuEntity> wrapper) {
|
||||
return baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
Page pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
//计算库存回显
|
||||
List<SmErpSpuEntity> records = pageData.getRecords();
|
||||
Set<Long> erpSpuIds = records.stream().map(smErpSpuEntity -> smErpSpuEntity.getId()).collect(Collectors.toSet());
|
||||
|
||||
// 批量查询库存信息
|
||||
List<SmErpStockEntity> stocks = smErpStockMapper.selectList(
|
||||
new LambdaQueryWrapper<SmErpStockEntity>()
|
||||
.in(SmErpStockEntity::getErpSpuId, erpSpuIds));
|
||||
|
||||
// 建立SPU ID与库存的映射关系
|
||||
Map<Long, SmErpStockEntity> stockMap = stocks.stream()
|
||||
.collect(Collectors.toMap(SmErpStockEntity::getErpSpuId,smErpStockEntity -> smErpStockEntity));
|
||||
|
||||
records.forEach(spu ->
|
||||
{
|
||||
SmErpStockEntity smErpStockEntity = stockMap.get(spu.getId());
|
||||
spu.setStock(smErpStockEntity != null ? smErpStockEntity.getCurrentStock() : 0);
|
||||
});
|
||||
return pageData;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
<result property="inventoryCode" column="inventory_code"/>
|
||||
<result property="inventoryDate" column="inventory_date"/>
|
||||
<result property="inventoryType" column="inventory_type"/>
|
||||
<result property="sourceId" column="source_id"/>
|
||||
<result property="linkCode" column="link_code"/>
|
||||
<result property="warehouseId" column="warehouse_id"/>
|
||||
<result property="handlerUserId" column="handler_user_id"/>
|
||||
<result property="checkStatus" column="check_status"/>
|
||||
|
||||
Reference in new issue
Block a user