From d918b3b2eea22e6b0343748016e758364807a7fd Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Tue, 11 Mar 2025 19:27:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=E7=9B=98=E7=82=B9-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bsd/pjcloud/canteen/test.java | 26 ++++++ .../InventoryRecordSaveItemDTO.java | 1 + .../dto/inventoryrecords/PDItemSaveDTO.java | 86 +++++++++++++++++++ .../dto/inventoryrecords/PDSaveDTO.java | 69 +++++++++++++++ .../dto/inventoryrecords/PdUnitDto.java | 14 +++ .../SmErpInventoryRecordsItemEntity.java | 12 +++ .../supermarket/vo/cgplan/ErpUnitVo.java | 17 ++-- .../controller/SmErpCgPlanController.java | 5 +- .../SmErpInventoryRecordsController.java | 12 +++ .../service/SmErpInventoryRecordsService.java | 8 ++ .../SmErpInventoryRecordsServiceImpl.java | 21 +++-- .../service/impl/SmErpSpuServiceImpl.java | 1 + .../SmErpInventoryRecordsItemMapper.xml | 4 + 13 files changed, 263 insertions(+), 13 deletions(-) create mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/test/java/com/bsd/pjcloud/canteen/test.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDItemSaveDTO.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDSaveDTO.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PdUnitDto.java diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/test/java/com/bsd/pjcloud/canteen/test.java b/pjcloud-canteen/pjcloud-canteen-biz/src/test/java/com/bsd/pjcloud/canteen/test.java new file mode 100644 index 000000000..eb74cf698 --- /dev/null +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/test/java/com/bsd/pjcloud/canteen/test.java @@ -0,0 +1,26 @@ +package com.bsd.pjcloud.canteen; + +import com.baomidou.mybatisplus.core.toolkit.AES; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.Charset; + +@SpringBootTest(classes = CanteenApp.class) +public class test { + + + + @Test + public void testEnc() { + + } + + @Test + public void testDec() { + + } +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/InventoryRecordSaveItemDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/InventoryRecordSaveItemDTO.java index 9d601bdc3..d45ee8992 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/InventoryRecordSaveItemDTO.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/InventoryRecordSaveItemDTO.java @@ -51,4 +51,5 @@ public class InventoryRecordSaveItemDTO { @Schema(description="包装单位id") private Long unitId; + } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDItemSaveDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDItemSaveDTO.java new file mode 100644 index 000000000..9168866e1 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDItemSaveDTO.java @@ -0,0 +1,86 @@ +package com.bsd.pjcloud.supermarket.dto.inventoryrecords; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * + * + * @author zjf + * @date 2025-02-11 17:11:41 + */ +@Data +@Schema(description = "盘点-item") +public class PDItemSaveDTO { + + + /** + * 库存商品id + */ + @Schema(description="库存商品id") + private Long erpSpuId; + + + @Schema(description="账面数量") + private Double accountNumber; + + @Schema(description="实际数量") + private Double realNumber; + + @Schema(description="账面单价") + private Integer unitPrice; + + + /** + * 数据库意思就是实际单价,这里等价于盘点单价 + */ + @Schema(description="盘点单价") + private Integer realPrice; + /** + * 盘盈盘亏 + */ + @Schema(description="盈") + private Double profit; + + /** + * 盘盈盘亏 + */ + @Schema(description="亏") + private Double loss; + + + /** + * 包装单位id + */ + @Schema(description="包装单位id") + private Long unitId; + + + + + @Schema(description="盘后总数") + private Integer totalNumber; + + /** + * 累计总金额 + */ + @Schema(description="盘后总金额") + private Integer totalAmount; + + + /** + * 1等于盘盈 2等于盘亏 + */ + @Schema(description="订单类型,1入库,2出库") + private String orderType; + + /** + * 备注 + */ + @Schema(description="备注") + private String remark; + + +} \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDSaveDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDSaveDTO.java new file mode 100644 index 000000000..f968794e8 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PDSaveDTO.java @@ -0,0 +1,69 @@ +package com.bsd.pjcloud.supermarket.dto.inventoryrecords; + + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.time.LocalDate; +import java.util.List; + +/** + * + * 新增一个采购计划 + */ +@Data +@Schema(description = "盘点保存对象") +public class PDSaveDTO { + + + /** + * 采编号 + */ + @Schema(description="编号") + private String inventoryCode; + + /** + * 采购计划单据日期 + */ + @Schema(description="单据日期") + private LocalDate inventoryDate; + + /** + * 仓库id + */ + @Schema(description="仓库id") + private String warehouseId; + + /** + * 经办人id + */ + @Schema(description="经办人id") + private Long handlerUserId; + + + + /** + * 备注 + */ + @Schema(description="备注") + private String remark; + + + /** + * 单据类型(字典inventory_type)采购入库、采购退货、盘点入库等 + */ + @Schema(description="单据类型(字典inventory_type)采购入库、采购退货、盘点入库等") + private String inventoryType; + + + /** + * @Link SmCgPlanSaveItemDTO + */ + @Schema(description="采购计划-item") + private List items; + + + + +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PdUnitDto.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PdUnitDto.java new file mode 100644 index 000000000..6d56b4532 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/PdUnitDto.java @@ -0,0 +1,14 @@ +package com.bsd.pjcloud.supermarket.dto.inventoryrecords; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class PdUnitDto { + + @Schema(description = "包装单位id") + private Long unitId; + + @Schema(description = "对应包装单位填的数量") + private Integer unitNumber; +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpInventoryRecordsItemEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpInventoryRecordsItemEntity.java index 627d47210..2596741f8 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpInventoryRecordsItemEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpInventoryRecordsItemEntity.java @@ -154,4 +154,16 @@ public class SmErpInventoryRecordsItemEntity extends Model 元 - @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 +// @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 +// @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 private Integer purchasePrice; /** * 零售价(分为单位) */ @Schema(description="零售价(分为单位)") - @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 - @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 +// @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 +// @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 private Integer retailPrice; /** * 成本单价,单位: 分 */ @Schema(description="成本单价,单位: 分") - @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 - @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 +// @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 +// @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 private Integer costPrice; + + + @Schema(description="是否基础单位") + private Boolean isBase; + } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java index afb1a4e0d..3e3062491 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCgPlanController.java @@ -78,12 +78,13 @@ 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) { diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpInventoryRecordsController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpInventoryRecordsController.java index c9fe55898..b763c2e91 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpInventoryRecordsController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpInventoryRecordsController.java @@ -245,4 +245,16 @@ public class SmErpInventoryRecordsController { public R getInventoryTypeSumPage(@ParameterObject Page page, @ParameterObject InventoryDetailQueryDTO inventoryDetailQueryDTO) { return R.ok(smErpInventoryRecordsService.getInventoryTypeSumPage(page, inventoryDetailQueryDTO)); } + + + + + @Operation(summary = "库存盘点新增" , description = "库存盘点新增" ) + @SysLog("库存盘点新增" ) + @PostMapping + @PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_add')" ) + public R save(@RequestBody PDSaveDTO pdSaveDTO) { + return R.ok(smErpInventoryRecordsService.savePD(pdSaveDTO)); + } + } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpInventoryRecordsService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpInventoryRecordsService.java index cf1e077ca..60a574817 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpInventoryRecordsService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpInventoryRecordsService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryDetailQueryDTO; import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryRecordEditDTO; import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryRecordSaveDTO; +import com.bsd.pjcloud.supermarket.dto.inventoryrecords.PDSaveDTO; import com.bsd.pjcloud.supermarket.entity.SmErpInventoryRecordsEntity; import java.util.ArrayList; @@ -81,4 +82,11 @@ public interface SmErpInventoryRecordsService extends IService list); + + /** + * 库存盘点新增 + * @param pdSaveDTO + * @return + */ + Object savePD(PDSaveDTO pdSaveDTO); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java index b1e74998d..b0d44f74d 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java @@ -83,10 +83,6 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl items = pdSaveDTO.getItems(); + + int insert = baseMapper.insert(smErpCgDdEntity); + List cgPlanItemEntities = BeanUtils.toBean(items, SmErpInventoryRecordsItemEntity.class); + + return null; + } + } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java index 38f2239c2..48b720ae2 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java @@ -468,6 +468,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl { List unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(vo.getId())).collect(Collectors.toList()); List bean = BeanUtils.toBean(unitEntities, ErpUnitVo.class); + bean.sort(Comparator.comparing(ErpUnitVo::getPackageNum)); vo.setErpUnitVos(bean); //库存 SmErpStockEntity smErpStockEntity = stockMap.get(vo.getId()); diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpInventoryRecordsItemMapper.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpInventoryRecordsItemMapper.xml index 0a83377bb..5a2470bfe 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpInventoryRecordsItemMapper.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpInventoryRecordsItemMapper.xml @@ -25,6 +25,10 @@ + + + +