Merge branch 'master' of http://gitea.zianxin.com/zianxin-tec/biz-api-cloud
This commit is contained in:
commit
3f41fbf1fa
13 files changed
+162
-22
No files matched your search
+9
-9
@@ -10,21 +10,21 @@ import lombok.Getter;
|
||||
@Getter
|
||||
public enum InventoryTypeEnum {
|
||||
|
||||
CGRK(1, "CGSQ"),
|
||||
CKDD(2, "CGDD"),
|
||||
CKRK(3, "CGRK"),
|
||||
CKTH(4, "CGTH"),
|
||||
LSCK(5, "LSCK"),
|
||||
LSTH(6, "LSTH")
|
||||
CGRK("1", "CGSQ"),
|
||||
CKDD("2", "CGDD"),
|
||||
CKRK("3", "CGRK"),
|
||||
CKTH("4", "CGTH"),
|
||||
LSCK("5", "LSCK"),
|
||||
LSTH("6", "LSTH")
|
||||
;
|
||||
private final Integer type;
|
||||
private final String type;
|
||||
private final String value;
|
||||
|
||||
|
||||
// 根据数字返回对应的值
|
||||
public static String getValueByType(int type) {
|
||||
public static String getValueByType(String type) {
|
||||
for (InventoryTypeEnum v : InventoryTypeEnum.values()) {
|
||||
if (v.type == type) {
|
||||
if (v.type.equals(type)) {
|
||||
return v.value;
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -1,5 +1,6 @@
|
||||
package com.bsd.pjcloud.supermarket.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -24,6 +25,10 @@ public class SupermarketSpuUpdateStockReqDTO {
|
||||
@NotNull(message = "商品 SPU 不能为空")
|
||||
private List<Item> items;
|
||||
|
||||
|
||||
@Schema(description = "下单设备类型,0默认安卓机,1移动端")
|
||||
private int deviceType;
|
||||
|
||||
@Data
|
||||
public static class Item {
|
||||
|
||||
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
package com.bsd.pjcloud.supermarket.dto.supplier;
|
||||
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SmErpSupplierImportDto {
|
||||
@ExcelProperty("货商编号")
|
||||
private String supplierCode;
|
||||
|
||||
@ExcelProperty("货商名称")
|
||||
private String supplierName;
|
||||
|
||||
@ExcelProperty("地址")
|
||||
private String address;
|
||||
|
||||
@ExcelProperty("邮编")
|
||||
private String postalCode;
|
||||
|
||||
@ExcelProperty("联系人")
|
||||
private String linkName;
|
||||
|
||||
@ExcelProperty("联系电话")
|
||||
private String phone;
|
||||
|
||||
@ExcelProperty("传真")
|
||||
private String fax;
|
||||
|
||||
@ExcelProperty("税号")
|
||||
private String taxNumber;
|
||||
|
||||
@ExcelProperty("开户行及帐号")
|
||||
private String bankAccount;
|
||||
|
||||
@ExcelProperty("货商类别")
|
||||
private String supplierCategory;
|
||||
|
||||
@ExcelProperty("货商地区")
|
||||
private String supplierRegion;
|
||||
|
||||
@ExcelProperty("建档人")
|
||||
private String creator;
|
||||
|
||||
@ExcelProperty("状态")
|
||||
private String status;
|
||||
|
||||
@ExcelProperty("期初应付款")
|
||||
private Double initialPayable;
|
||||
|
||||
@ExcelProperty("其它1")
|
||||
private String other1;
|
||||
|
||||
@ExcelProperty("其它2")
|
||||
private String other2;
|
||||
|
||||
@ExcelProperty("其它3")
|
||||
private String other3;
|
||||
|
||||
@ExcelProperty("拼音简码")
|
||||
private String pinyinCode;
|
||||
}
|
||||
+3
@@ -82,4 +82,7 @@ public class SmErpAuxiliaryCodeEntity extends Model<SmErpAuxiliaryCodeEntity> {
|
||||
*/
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description="包装单位id")
|
||||
private Long unitId;
|
||||
}
|
||||
+9
-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
|
||||
@@ -162,7 +162,14 @@ public class SmErpInventoryRecordsEntity extends Model<SmErpInventoryRecordsEnti
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description="设备类型")
|
||||
private Integer deviceType;
|
||||
|
||||
@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
|
||||
*/
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ public class SmErpCommonController {
|
||||
*/
|
||||
@Operation(summary = "获取业务流水编号" , description = "获取业务流水编号" )
|
||||
@GetMapping("/getSequence")
|
||||
public R getErpSpuPage(@RequestParam("type")Integer type) {
|
||||
public R getErpSpuPage(@RequestParam("type")String type) {
|
||||
String valueByType = InventoryTypeEnum.getValueByType(type);
|
||||
String s = sequence.nextNo();
|
||||
String result = valueByType + "-" + s;
|
||||
|
||||
+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));
|
||||
});
|
||||
|
||||
+39
-4
@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.sequence.sequence.Sequence;
|
||||
import com.bsd.pjcloud.supermarket.constant.InventoryTypeEnum;
|
||||
import com.bsd.pjcloud.supermarket.constant.OrderTypeEnum;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO;
|
||||
@@ -30,11 +33,12 @@ import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -57,10 +61,12 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
|
||||
private final SmErpStockService smErpStockService;
|
||||
|
||||
@Autowired
|
||||
private Sequence sequence;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public R saveSpu(SmErpSpuEntity supermarketSpu) {
|
||||
|
||||
baseMapper.insert(supermarketSpu);
|
||||
|
||||
//库存表
|
||||
@@ -189,12 +195,41 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
updateStockDTOS.add(updateStockDTO);
|
||||
}
|
||||
smErpStockService.updateStock(updateStockDTOS);
|
||||
//todo 生成出入库记录
|
||||
// SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = new SmErpInventoryRecordsEntity();
|
||||
// String s = sequence.nextNo();
|
||||
// String result = InventoryTypeEnum.LSCK.getValue() + "-" + s;
|
||||
// smErpInventoryRecordsEntity.setInventoryCode(result);
|
||||
// smErpInventoryRecordsEntity.setInventoryDate(LocalDate.now());
|
||||
// smErpInventoryRecordsEntity.setInventoryType(InventoryTypeEnum.LSCK.getType());
|
||||
// smErpInventoryRecordsEntity.setOrderType(OrderTypeEnum.CK.getType());
|
||||
// smErpInventoryRecordsEntity.setDeviceType(updateStockReqDTO.getDeviceType());
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@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
@@ -13,5 +13,6 @@
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
<result property="unitId" column="unit_id"/>
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+2
-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"/>
|
||||
@@ -26,5 +26,6 @@
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
<result property="deviceType" column="device_type"/>
|
||||
</resultMap>
|
||||
</mapper>
|
||||
Reference in new issue
Block a user