This commit is contained in:
zjf committed 2025-02-20 12:38:10 +08:00
1 parent f948217557
commit b7beca227d
3 files changed
+196 -22

No files matched your search

@@ -0,0 +1,102 @@
package com.bsd.pjcloud.supermarket.vo.inventoryrecord;
import com.bsd.pjcloud.common.core.util.MoneyDeserializer;
import com.bsd.pjcloud.common.core.util.MoneySerializer;
import com.bsd.pjcloud.supermarket.vo.cgplan.ErpUnitVo;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* 采购计划-item
*
* @author zjf
* @date 2025-02-11 17:11:41
*/
@Data
@Schema(description = "采购计划-item")
public class InventoryRecordItemVo {
@Schema(description = "id")
private Long id;
/**
* 库存商品id
*/
@Schema(description="库存商品id")
private Long erpSpuId;
/**
* 主表id
*/
@Schema(description="主表id")
private Long inventoryId;
/**
* 数量
*/
@Schema(description="数量")
private Integer quantity;
/**
* 进价
*/
@Schema(description="进价")
@JsonSerialize(using = MoneySerializer.class) // 分 -> 元
@JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分
private Integer unitPrice;
/**
* 累计总金额
*/
@Schema(description="累计总金额")
@JsonSerialize(using = MoneySerializer.class) // 分 -> 元
@JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分
private Integer totalAmount;
/**
* 备注
*/
@Schema(description="备注")
private String remark;
/**
* 包装单位id
*/
@Schema(description="包装单位id")
private Long unitId;
/**
* 规格
*/
@Schema(description="规格")
private String spec;
/**
* 单位
*/
@Schema(description="单位")
private String unit;
/**
* 装数
*/
@Schema(description="装数")
private Integer packageNum;
/**
* 进价(分为单位)
*/
@Schema(description="进价(分为单位)")
@JsonSerialize(using = MoneySerializer.class) // 分 -> 元
@JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分
private Integer purchasePrice;
@Schema(description = "包装对象集合对象")
private List<ErpUnitVo> erpUnitVos;
}
@@ -0,0 +1,72 @@
package com.bsd.pjcloud.supermarket.vo.inventoryrecord;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "采购根据id查询-编辑回显 vo")
@Data
public class InventoryRecordVo {
@Schema(description ="id")
private Long id;
/**
* 采购计划编号
*/
@Schema(description="编号")
private String inventoryCode;
/**
* 采购计划单据日期
*/
@Schema(description="单据日期")
private LocalDate inventoryDate;
/**
* 经办人id
*/
@Schema(description="经办人id")
private Long handlerUserId;
/**
* 备注
*/
@Schema(description="备注")
private String remark;
/**
* 创建人
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description="创建人")
private String createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description="创建时间")
private LocalDateTime createTime;
/**
* 审批状态
*/
@Schema(description="审批状态")
private String checkStatus;
/**
* @link InventoryRecordItemVo
*/
@Schema(description="item")
private List<InventoryRecordItemVo> items;
}
@@ -6,6 +6,7 @@ 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.dto.cgdd.CGPlanLinkQueryDTO;
@@ -13,6 +14,9 @@ import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO;
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.CGDdLinkQueryDTO;
import com.bsd.pjcloud.supermarket.entity.*;
import com.bsd.pjcloud.supermarket.service.*;
import com.bsd.pjcloud.supermarket.vo.cgplan.ErpUnitVo;
import com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordItemVo;
import com.bsd.pjcloud.supermarket.vo.inventoryrecord.InventoryRecordVo;
import org.springframework.security.access.prepost.PreAuthorize;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
@@ -84,34 +88,30 @@ public class SmErpInventoryRecordsController {
//
// SmErpCgPlanVo bean = BeanUtils.toBean(smErpCgPlanEntity, SmErpCgPlanVo.class, (source) -> {
// List<SmeErpCgPlanItemVo> smeErpCgPlanItemVos = BeanUtils.toBean(list, SmeErpCgPlanItemVo.class);
// smeErpCgPlanItemVos.stream().forEach(item -> {
// List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(item.getErpSpuId())).collect(Collectors.toList());
//
//// unitList.stream().forEach(unit -> {
//// if(unit.getId().equals(item.getUnitId())){
//// item.setSpec(unit.getSpec());
//// item.setUnit(unit.getUnit());
//// item.setPackageNum(unit.getPackageNum());
//// item.setPurchasePrice(unit.getPurchasePrice());
//// }
//// });
// item.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
// });
// source.setItems(smeErpCgPlanItemVos);
// });
InventoryRecordVo bean = BeanUtils.toBean(smErpInventoryRecordsEntity, InventoryRecordVo.class, (source) -> {
List<InventoryRecordItemVo> smeErpCgPlanItemVos = BeanUtils.toBean(list, InventoryRecordItemVo.class);
smeErpCgPlanItemVos.stream().forEach(item -> {
List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(item.getErpSpuId())).collect(Collectors.toList());
// unitList.stream().forEach(unit -> {
// if(unit.getId().equals(item.getUnitId())){
// item.setSpec(unit.getSpec());
// item.setUnit(unit.getUnit());
// item.setPackageNum(unit.getPackageNum());
// item.setPurchasePrice(unit.getPurchasePrice());
// }
// });
item.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
});
source.setItems(smeErpCgPlanItemVos);
});
// voList.stream().forEach(vo -> {
// bean.stream().forEach(vo -> {
// List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(vo.getId())).collect(Collectors.toList());
// vo.setErpUnitVos(BeanUtils.toBean(unitEntities, ErpUnitVo.class));
// });
// return R.ok(bean);
return R.ok();
return R.ok(bean);
}
/**