From eee3a2aaf0ba62d4583720c38f962aab18e6c695 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Tue, 11 Feb 2025 21:25:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A1=E5=88=92-3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...{ErpPurchaseDTO.java => ErpCgPlanDTO.java} | 2 +- ...haseSaveDTO.java => ErpCgPlanSaveDTO.java} | 50 ++------------- .../dto/cgplan/SmCgPlanSaveItemDTO.java | 61 +++++++++++++++++++ .../controller/SmErpCgPlanController.java | 15 ++--- .../controller/SmErpPurchaseController.java | 12 ++-- .../entity/SmErpCgPlanItemEntity.java | 2 +- .../service/SmErpCgPlanService.java | 6 +- .../supermarket/service/SmErpSpuService.java | 4 +- .../service/impl/SmErpCgPlanServiceImpl.java | 28 ++++++++- .../service/impl/SmErpSpuServiceImpl.java | 8 +-- 10 files changed, 115 insertions(+), 73 deletions(-) rename pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/{ErpPurchaseDTO.java => ErpCgPlanDTO.java} (93%) rename pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/{ErpPurchaseSaveDTO.java => ErpCgPlanSaveDTO.java} (60%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanSaveItemDTO.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpPurchaseDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanDTO.java similarity index 93% rename from pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpPurchaseDTO.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanDTO.java index 31d8b534c..0c3ed05a4 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpPurchaseDTO.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanDTO.java @@ -6,7 +6,7 @@ import lombok.Data; @Data @Schema(description = "采购计划选择商品分页查询dto") -public class ErpPurchaseDTO { +public class ErpCgPlanDTO { /** diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpPurchaseSaveDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanSaveDTO.java similarity index 60% rename from pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpPurchaseSaveDTO.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanSaveDTO.java index bf99d792e..ae552927d 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpPurchaseSaveDTO.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/ErpCgPlanSaveDTO.java @@ -6,23 +6,16 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDate; -import java.time.LocalDateTime; +import java.util.List; /** * 新增一个采购计划 */ @Data @Schema(description = "采购计划保存对象") -public class ErpPurchaseSaveDTO { +public class ErpCgPlanSaveDTO { - /** - * 主键 - */ - @TableId(type = IdType.ASSIGN_ID) - @Schema(description="主键") - private Long id; - /** * 采购计划编号 */ @@ -47,35 +40,6 @@ public class ErpPurchaseSaveDTO { @Schema(description="经办人id") private Long handlerUserId; - /** - * 审批状态 - */ - @Schema(description="审批状态") - private String checkStatus; - - /** - * 审批人id - */ - @Schema(description="审批人id") - private String checkUserId; - - /** - * 审核日期 - */ - @Schema(description="审核日期") - private LocalDateTime checkTime; - - /** - * 商户编号 - */ - @Schema(description="商户编号") - private Long merchantId; - - /** - * 部门id - */ - @Schema(description="部门id") - private Long deptId; /** * 累计进货数量 @@ -107,12 +71,10 @@ public class ErpPurchaseSaveDTO { @Schema(description="订单编号") private String orderNumber; - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") - private String createBy; + + @Schema(description="采购计划-item") + private List items; + diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanSaveItemDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanSaveItemDTO.java new file mode 100644 index 000000000..16f6f3767 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/cgplan/SmCgPlanSaveItemDTO.java @@ -0,0 +1,61 @@ +package com.bsd.pjcloud.supermarket.dto.cgplan; + +import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.bsd.pjcloud.common.core.util.TenantTable; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + * 采购计划-item + * + * @author zjf + * @date 2025-02-11 17:11:41 + */ +@Data +@TableName("sm_erp_cg_plan_item") +@Schema(description = "采购计划-item") +public class SmCgPlanSaveItemDTO { + + + /** + * 库存商品id + */ + @Schema(description="库存商品id") + private Long erpSpuId; + + + /** + * 数量 + */ + @Schema(description="数量") + private Integer quantity; + + /** + * 进价 + */ + @Schema(description="进价") + private Integer unitPrice; + + /** + * 累计总金额 + */ + @Schema(description="累计总金额") + private Integer totalAmount; + + /** + * 备注 + */ + @Schema(description="备注") + private String remark; + + /** + * 包装单位id + */ + @Schema(description="包装单位id") + private Long unitId; + +} \ No newline at end of file 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 3ab9ba072..ac4e71798 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 @@ -6,14 +6,11 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; -import com.bsd.pjcloud.supermarket.constant.OrderTypeEnum; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseDTO; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseSaveDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity; -import com.bsd.pjcloud.supermarket.entity.SmErpInventoryRecordsEntity; import com.bsd.pjcloud.supermarket.service.SmErpCgPlanService; import com.bsd.pjcloud.supermarket.service.SmErpSpuService; import org.springframework.security.access.prepost.PreAuthorize; @@ -74,8 +71,8 @@ public class SmErpCgPlanController { @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/erpSpuPage" ) @PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" ) - public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpPurchaseDTO erpPurchaseDTO) { - return R.ok(smErpSpuService.getErpSpuPage(page, erpPurchaseDTO)); + public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpCgPlanDTO erpCgPlanDTO) { + return R.ok(smErpSpuService.getErpSpuPage(page, erpCgPlanDTO)); } /** @@ -86,8 +83,8 @@ public class SmErpCgPlanController { @SysLog("新增采购计划" ) @PostMapping @PreAuthorize("@pms.hasPermission('supermarket_smErpCgPlan_add')" ) - public R save(@RequestBody ErpPurchaseSaveDTO erpPurchaseSaveDTO) { - return R.ok(smErpCgPlanService.saveCgplan(erpPurchaseSaveDTO)); + public R save(@RequestBody ErpCgPlanSaveDTO erpCgPlanSaveDTO) { + return R.ok(smErpCgPlanService.saveCgplan(erpCgPlanSaveDTO)); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpPurchaseController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpPurchaseController.java index 62cb0694a..e53da1458 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpPurchaseController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpPurchaseController.java @@ -9,8 +9,8 @@ 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.supermarket.constant.OrderTypeEnum; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseDTO; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseSaveDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; import com.bsd.pjcloud.supermarket.entity.SmErpInventoryRecordsEntity; import com.bsd.pjcloud.supermarket.service.SmErpInventoryRecordsService; import com.bsd.pjcloud.supermarket.service.SmErpSpuService; @@ -51,8 +51,8 @@ public class SmErpPurchaseController { @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/erpSpuPage" ) @PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_view')" ) - public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpPurchaseDTO erpPurchaseDTO) { - return R.ok(smErpSpuService.getErpSpuPage(page, erpPurchaseDTO)); + public R getErpSpuPage(@ParameterObject Page page, @ParameterObject ErpCgPlanDTO erpCgPlanDTO) { + return R.ok(smErpSpuService.getErpSpuPage(page, erpCgPlanDTO)); } @@ -64,8 +64,8 @@ public class SmErpPurchaseController { @SysLog("新增采购计划" ) @PostMapping @PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_add')" ) - public R save(@RequestBody ErpPurchaseSaveDTO erpPurchaseSaveDTO) { - SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = BeanUtils.toBean(erpPurchaseSaveDTO, SmErpInventoryRecordsEntity.class); + public R save(@RequestBody ErpCgPlanSaveDTO erpCgPlanSaveDTO) { + SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = BeanUtils.toBean(erpCgPlanSaveDTO, SmErpInventoryRecordsEntity.class); smErpInventoryRecordsEntity.setOrderType(OrderTypeEnum.RK.getType()); return R.ok(smErpInventoryRecordsService.save(smErpInventoryRecordsEntity)); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java index 17ffe5573..874090ae0 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SmErpCgPlanItemEntity.java @@ -33,7 +33,7 @@ public class SmErpCgPlanItemEntity extends Model { * 采购id */ @Schema(description="采购id") - private String planId; + private Long planId; /** * 库存商品id diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCgPlanService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCgPlanService.java index 4196924c4..b2f082499 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCgPlanService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCgPlanService.java @@ -1,7 +1,7 @@ package com.bsd.pjcloud.supermarket.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseSaveDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity; public interface SmErpCgPlanService extends IService { @@ -9,8 +9,8 @@ public interface SmErpCgPlanService extends IService { /** * 新增采购计划 - * @param erpPurchaseSaveDTO + * @param erpCgPlanSaveDTO * @return */ - Object saveCgplan(ErpPurchaseSaveDTO erpPurchaseSaveDTO); + Object saveCgplan(ErpCgPlanSaveDTO erpCgPlanSaveDTO); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java index ac7f5dfa9..7646eecaf 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpSpuService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuQueryDTO; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO; import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; import com.bsd.pjcloud.supermarket.vo.purchase.ErpSpuWithUnitPageVo; import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo; @@ -75,5 +75,5 @@ public interface SmErpSpuService extends IService { - Page getErpSpuPage(Page page, ErpPurchaseDTO erpPurchaseDTO); + Page getErpSpuPage(Page page, ErpCgPlanDTO erpCgPlanDTO); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java index 7b4c24c2a..9eae9a8d4 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCgPlanServiceImpl.java @@ -1,11 +1,19 @@ package com.bsd.pjcloud.supermarket.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseSaveDTO; +import com.bsd.pjcloud.common.core.util.BeanUtils; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanSaveDTO; import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity; +import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanItemEntity; +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.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + /** * 采购计划 * @@ -13,9 +21,23 @@ import org.springframework.stereotype.Service; * @date 2025-02-11 15:45:28 */ @Service +@AllArgsConstructor public class SmErpCgPlanServiceImpl extends ServiceImpl implements SmErpCgPlanService { + + private final SmErpCgPlanItemMapper smErpCgPlanItemMapper; + @Override - public Object saveCgplan(ErpPurchaseSaveDTO erpPurchaseSaveDTO) { - return null; + @Transactional + public Object saveCgplan(ErpCgPlanSaveDTO erpCgPlanSaveDTO) { + SmErpCgPlanEntity smErpCgPlanEntity = BeanUtils.toBean(erpCgPlanSaveDTO, SmErpCgPlanEntity.class); + int insert = baseMapper.insert(smErpCgPlanEntity); + + List items = erpCgPlanSaveDTO.getItems(); + List cgPlanItemEntities = BeanUtils.toBean(items, SmErpCgPlanItemEntity.class); + for (SmErpCgPlanItemEntity cgPlanItemEntity : cgPlanItemEntities) { + cgPlanItemEntity.setPlanId(smErpCgPlanEntity.getId()); + } + smErpCgPlanItemMapper.insert(cgPlanItemEntities); + return insert; } } \ 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 78e4b789d..4199a55a6 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 @@ -8,7 +8,7 @@ import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuQueryDTO; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO; -import com.bsd.pjcloud.supermarket.dto.cgplan.ErpPurchaseDTO; +import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO; import com.bsd.pjcloud.supermarket.entity.SmErpAuxiliaryCodeEntity; import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; import com.bsd.pjcloud.supermarket.entity.SmErpStockEntity; @@ -212,11 +212,11 @@ public class SmErpSpuServiceImpl extends ServiceImpl getErpSpuPage(Page page, ErpPurchaseDTO erpPurchaseDTO) { + public Page getErpSpuPage(Page page, ErpCgPlanDTO erpCgPlanDTO) { LambdaQueryWrapper smErpUnitEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); smErpUnitEntityLambdaQueryWrapper.eq(SmErpSpuEntity::getStatus,"0"); - smErpUnitEntityLambdaQueryWrapper.eq(StringUtils.isNotBlank(erpPurchaseDTO.getProductCode()),SmErpSpuEntity::getProductCode,erpPurchaseDTO.getProductCode()); - smErpUnitEntityLambdaQueryWrapper.like(StringUtils.isNotBlank(erpPurchaseDTO.getProductName()),SmErpSpuEntity::getProductName,erpPurchaseDTO.getProductName()); + smErpUnitEntityLambdaQueryWrapper.eq(StringUtils.isNotBlank(erpCgPlanDTO.getProductCode()),SmErpSpuEntity::getProductCode, erpCgPlanDTO.getProductCode()); + smErpUnitEntityLambdaQueryWrapper.like(StringUtils.isNotBlank(erpCgPlanDTO.getProductName()),SmErpSpuEntity::getProductName, erpCgPlanDTO.getProductName()); Page spuPage = baseMapper.selectPageByScope(page, smErpUnitEntityLambdaQueryWrapper, DataScope.of()); // 将 SmErpSpuEntity 转换为 SmErpPageScopeVo