采购计划-3

This commit is contained in:
zjf committed 2025-02-11 21:25:14 +08:00
1 parent 6f57d7d8f9
commit eee3a2aaf0
10 files changed
+115 -73

No files matched your search

@@ -6,7 +6,7 @@ import lombok.Data;
@Data
@Schema(description = "采购计划选择商品分页查询dto")
public class ErpPurchaseDTO {
public class ErpCgPlanDTO {
/**
@@ -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<ErpCgPlanSaveDTO> items;
@@ -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;
}
@@ -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));
}
@@ -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));
}
@@ -33,7 +33,7 @@ public class SmErpCgPlanItemEntity extends Model<SmErpCgPlanItemEntity> {
* 采购id
*/
@Schema(description="采购id")
private String planId;
private Long planId;
/**
* 库存商品id
@@ -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<SmErpCgPlanEntity> {
@@ -9,8 +9,8 @@ public interface SmErpCgPlanService extends IService<SmErpCgPlanEntity> {
/**
* 新增采购计划
* @param erpPurchaseSaveDTO
* @param erpCgPlanSaveDTO
* @return
*/
Object saveCgplan(ErpPurchaseSaveDTO erpPurchaseSaveDTO);
Object saveCgplan(ErpCgPlanSaveDTO erpCgPlanSaveDTO);
}
@@ -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<SmErpSpuEntity> {
Page<ErpSpuWithUnitPageVo> getErpSpuPage(Page page, ErpPurchaseDTO erpPurchaseDTO);
Page<ErpSpuWithUnitPageVo> getErpSpuPage(Page page, ErpCgPlanDTO erpCgPlanDTO);
}
@@ -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<SmErpCgPlanMapper, SmErpCgPlanEntity> 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<ErpCgPlanSaveDTO> items = erpCgPlanSaveDTO.getItems();
List<SmErpCgPlanItemEntity> cgPlanItemEntities = BeanUtils.toBean(items, SmErpCgPlanItemEntity.class);
for (SmErpCgPlanItemEntity cgPlanItemEntity : cgPlanItemEntities) {
cgPlanItemEntity.setPlanId(smErpCgPlanEntity.getId());
}
smErpCgPlanItemMapper.insert(cgPlanItemEntities);
return insert;
}
}
@@ -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<SmErpSpuMapper, SmErpSpuEnt
}
@Override
public Page<ErpSpuWithUnitPageVo> getErpSpuPage(Page page, ErpPurchaseDTO erpPurchaseDTO) {
public Page<ErpSpuWithUnitPageVo> getErpSpuPage(Page page, ErpCgPlanDTO erpCgPlanDTO) {
LambdaQueryWrapper<SmErpSpuEntity> 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<SmErpSpuEntity> spuPage = baseMapper.selectPageByScope(page, smErpUnitEntityLambdaQueryWrapper, DataScope.of());
// 将 SmErpSpuEntity 转换为 SmErpPageScopeVo