修复库存商品
This commit is contained in:
1 parent
eee3a2aaf0
commit
2bdf31f419
9 files changed
+124
-14
No files matched your search
+31
@@ -0,0 +1,31 @@
|
||||
package com.bsd.pjcloud.supermarket.constant;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 入库类型编码前兆
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum InventoryTypeEnum {
|
||||
|
||||
CGRK(1, "CGRK"),
|
||||
// CK("2", "出库"),
|
||||
;
|
||||
private final Integer type;
|
||||
private final String value;
|
||||
|
||||
|
||||
// 根据数字返回对应的值
|
||||
public static String getValueByType(int type) {
|
||||
for (InventoryTypeEnum v : InventoryTypeEnum.values()) {
|
||||
if (v.type == type) {
|
||||
return v.value;
|
||||
}
|
||||
}
|
||||
return ""; // 如果没有找到对应的数字
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -94,6 +94,13 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
</dependency>
|
||||
<!-- 分布式发号器-->
|
||||
<dependency>
|
||||
<groupId>com.bsd</groupId>
|
||||
<artifactId>pjcloud-common-sequence</artifactId>
|
||||
<version>5.7.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<profiles>
|
||||
<profile>
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.bsd.pjcloud.supermarket.config;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.bsd.pjcloud.common.sequence.range.BizName;
|
||||
|
||||
public class PjcloudBizName implements BizName {
|
||||
/**
|
||||
* 生成名称
|
||||
*/
|
||||
@Override
|
||||
public String create() {
|
||||
return DateUtil.today();
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.bsd.pjcloud.supermarket.config;
|
||||
|
||||
import com.bsd.pjcloud.common.sequence.builder.DbSeqBuilder;
|
||||
import com.bsd.pjcloud.common.sequence.properties.SequenceDbProperties;
|
||||
import com.bsd.pjcloud.common.sequence.sequence.Sequence;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 设置发号器生成规则
|
||||
*/
|
||||
@Configuration
|
||||
public class SequenceConfig {
|
||||
|
||||
@Bean
|
||||
public Sequence sequence(DataSource dataSource) {
|
||||
return DbSeqBuilder
|
||||
.create()
|
||||
.bizName(new PjcloudBizName())// 定义切片规则
|
||||
.dataSource(dataSource) // 注入数据源
|
||||
.step(1000) // 每次获取数据的个数
|
||||
.retryTimes(3) // 重试次数
|
||||
.tableName("pjcloud_sequence") // 存储表名信息
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ public class SmErpCgPlanController {
|
||||
* @param page 分页对象
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@Operation(summary = "采购计划选择商品分页数据" , description = "采购计划选择商品分页数据" )
|
||||
@GetMapping("/erpSpuPage" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" )
|
||||
public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpCgPlanDTO erpCgPlanDTO) {
|
||||
|
||||
+17
-9
@@ -8,6 +8,8 @@ import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
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.cgplan.ErpCgPlanDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO;
|
||||
@@ -19,6 +21,7 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springdoc.core.annotations.ParameterObject;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -26,33 +29,38 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 采购计划
|
||||
* 超市公共接口
|
||||
*
|
||||
* @author pjcloud
|
||||
* @date 2025-02-10 12:15:37
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/smErpPurchase" )
|
||||
@RequestMapping("/sm/common" )
|
||||
@Tag(description = "smErpPurchase" , name = "采购计划" )
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class SmErpPurchaseController {
|
||||
public class SmErpCommonController {
|
||||
|
||||
private final SmErpInventoryRecordsService smErpInventoryRecordsService;
|
||||
|
||||
private final SmErpSpuService smErpSpuService;
|
||||
|
||||
@Autowired
|
||||
private Sequence sequence;
|
||||
|
||||
/**
|
||||
* 采购计划选择商品分页数据
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
* @param type @link InventoryTypeEnum
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/erpSpuPage" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" )
|
||||
public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpCgPlanDTO erpCgPlanDTO) {
|
||||
return R.ok(smErpSpuService.getErpSpuPage(page, erpCgPlanDTO));
|
||||
@Operation(summary = "获取业务流水编号" , description = "获取业务流水编号" )
|
||||
@GetMapping("/getSequence")
|
||||
public R getErpSpuPage(@RequestParam("type")Integer type) {
|
||||
String valueByType = InventoryTypeEnum.getValueByType(type);
|
||||
String s = sequence.nextNo();
|
||||
String result = valueByType + "-" + s;
|
||||
return R.ok(result);
|
||||
}
|
||||
|
||||
|
||||
+9
-4
@@ -15,11 +15,9 @@ import com.bsd.pjcloud.supermarket.dto.SupermarketSpuQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpAuxiliaryCodeEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpStockEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpUnitEntity;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpAuxiliaryCodeService;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpSpuService;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpUnitService;
|
||||
import com.bsd.pjcloud.supermarket.service.SmSpuService;
|
||||
import com.bsd.pjcloud.supermarket.service.*;
|
||||
import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -56,6 +54,8 @@ public class SmErpSpuController {
|
||||
|
||||
private final SmSpuService smSpuService;
|
||||
|
||||
private final SmErpStockService smErpStockService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
@@ -102,6 +102,11 @@ public class SmErpSpuController {
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
SmErpSpuEntity smErpSpuEntity = smErpSpuService.getById(id);
|
||||
//库存
|
||||
LambdaQueryWrapper<SmErpStockEntity> smErpStockEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpStockEntityLambdaQueryWrapper.eq(SmErpStockEntity::getSpuId, id);
|
||||
SmErpStockEntity smErpStockEntity = smErpStockService.list(smErpStockEntityLambdaQueryWrapper).get(0);
|
||||
smErpSpuEntity.setStock(smErpStockEntity.getBaseStcok());
|
||||
List<SmErpUnitEntity> list = smErpUnitService.list(new LambdaQueryWrapper<SmErpUnitEntity>().eq(SmErpUnitEntity::getSpuId, id));
|
||||
smErpSpuEntity.setSmErpUnitEntityList(list);
|
||||
smErpSpuEntity.setSmErpAuxiliaryCodeEntityList(
|
||||
|
||||
+7
@@ -2,6 +2,8 @@ package com.bsd.pjcloud.supermarket.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.common.sequence.sequence.Sequence;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanItemEntity;
|
||||
@@ -9,6 +11,7 @@ import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanItemMapper;
|
||||
import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpCgPlanService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -26,10 +29,14 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
|
||||
private final SmErpCgPlanItemMapper smErpCgPlanItemMapper;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Object saveCgplan(ErpCgPlanSaveDTO erpCgPlanSaveDTO) {
|
||||
SmErpCgPlanEntity smErpCgPlanEntity = BeanUtils.toBean(erpCgPlanSaveDTO, SmErpCgPlanEntity.class);
|
||||
smErpCgPlanEntity.setDeptId(SecurityUtils.getUser().getDeptId());
|
||||
smErpCgPlanEntity.setCheckStatus("0");
|
||||
int insert = baseMapper.insert(smErpCgPlanEntity);
|
||||
|
||||
List<ErpCgPlanSaveDTO> items = erpCgPlanSaveDTO.getItems();
|
||||
|
||||
+8
@@ -87,7 +87,15 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
@Override
|
||||
@Transactional
|
||||
public R updateSpuById(SmErpSpuEntity supermarketSpu) {
|
||||
|
||||
baseMapper.updateById(supermarketSpu);
|
||||
Integer stock = supermarketSpu.getStock();
|
||||
|
||||
LambdaQueryWrapper<SmErpStockEntity> smErpStockEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpStockEntityLambdaQueryWrapper.eq(SmErpStockEntity::getSpuId, supermarketSpu.getId());
|
||||
SmErpStockEntity smErpStockEntity = new SmErpStockEntity();
|
||||
smErpStockEntity.setBaseStcok(stock);
|
||||
smErpStockMapper.update(smErpStockEntity,smErpStockEntityLambdaQueryWrapper);
|
||||
|
||||
//新增包装类型
|
||||
List<SmErpUnitEntity> smErpUnitEntityList = supermarketSpu.getSmErpUnitEntityList();
|
||||
|
||||
Reference in new issue
Block a user