diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErpStockInStatusEnum.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErpStockInStatusEnum.java new file mode 100644 index 000000000..90bd5130d --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErpStockInStatusEnum.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.erp.enums; + +import cn.iocoder.yudao.framework.common.core.IntArrayValuable; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +import java.util.Arrays; + +@RequiredArgsConstructor +@Getter +public enum ErpStockInStatusEnum implements IntArrayValuable { + + WAIT_IN(0, "待入库"), + IN_STOCK(20, "已入库"); + + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ErpStockInStatusEnum::getStatus).toArray(); + + private final Integer status; + private final String name; + + @Override + public int[] array() { + return ARRAYS; + } +} diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErpStockOutStatusEnum.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErpStockOutStatusEnum.java new file mode 100644 index 000000000..98e596625 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErpStockOutStatusEnum.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.erp.enums; + +import cn.iocoder.yudao.framework.common.core.IntArrayValuable; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +import java.util.Arrays; + +@RequiredArgsConstructor +@Getter +public enum ErpStockOutStatusEnum implements IntArrayValuable { + + WAIT_OUT(0, "待出库"), + OUT_STOCK(20, "已出库"); + + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ErpStockOutStatusEnum::getStatus).toArray(); + + private final Integer status; + private final String name; + + @Override + public int[] array() { + return ARRAYS; + } +} diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java index 6d19168e5..a66f03d27 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java @@ -26,6 +26,7 @@ import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInDO; import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInItemDO; import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpWarehouseDO; import cn.iocoder.yudao.module.erp.dal.dataobject.warehousearea.WarehouseAreaDO; +import cn.iocoder.yudao.module.erp.enums.ErpStockInStatusEnum; import cn.iocoder.yudao.module.erp.service.mold.MoldBrandService; import cn.iocoder.yudao.module.erp.service.mold.MoldService; import cn.iocoder.yudao.module.erp.service.product.ErpProductService; @@ -206,6 +207,7 @@ public class ErpStockInController { private ErpStockInRespVO buildStockInRespVO(ErpStockInDO stockIn, List stockInItemList, List approveRecords) { ErpStockInRespVO stockInVO = BeanUtils.toBean(stockIn, ErpStockInRespVO.class); + stockInVO.setStatusName(getStockInStatusName(stockIn.getStatus())); Map warehouseMap = warehouseService.getWarehouseMap( convertSet(stockInItemList, ErpStockInItemDO::getWarehouseId)); Map areaMap = warehouseAreaService.getWarehouseAreaMap( @@ -283,6 +285,8 @@ public class ErpStockInController { return BeanUtils.toBean(records, ErpStockInApproveRecordRespVO.class, record -> { MapUtils.findAndThen(userMap, NumberUtils.parseLong(record.getCreator()), user -> record.setCreatorName(user.getNickname())); MapUtils.findAndThen(userMap, record.getTargetUserId(), user -> record.setTargetUserName(user.getNickname())); + record.setFromStatusName(getStockInStatusName(record.getFromStatus())); + record.setToStatusName(getStockInStatusName(record.getToStatus())); }); } @@ -334,4 +338,8 @@ public class ErpStockInController { stockInService.updateMoldStatus(id, status); return success(true); } -} + + private String getStockInStatusName(Integer status) { + return ErpStockInStatusEnum.IN_STOCK.getStatus().equals(status) ? "已入库" : "待入库"; + } +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java index e2820147c..e471db81a 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java @@ -24,6 +24,7 @@ import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockDO; import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockOutApproveRecordDO; import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockOutDO; import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockOutItemDO; +import cn.iocoder.yudao.module.erp.enums.ErpStockOutStatusEnum; import cn.iocoder.yudao.module.erp.service.mold.MoldBrandService; import cn.iocoder.yudao.module.erp.service.mold.MoldService; import cn.iocoder.yudao.module.erp.service.product.ErpProductService; @@ -214,6 +215,7 @@ public class ErpStockOutController { private ErpStockOutRespVO buildStockOutRespVO(ErpStockOutDO stockOut, List stockOutItemList, List approveRecords) { ErpStockOutRespVO stockOutVO = BeanUtils.toBean(stockOut, ErpStockOutRespVO.class); + stockOutVO.setStatusName(getStockOutStatusName(stockOut.getStatus())); Map userMap = adminUserApi.getUserMap(convertListByFlatMap( Collections.singletonList(stockOut), item -> Stream.of(NumberUtils.parseLong(item.getCreator()), item.getResponserId(), item.getAuditUserId()))); @@ -279,6 +281,8 @@ public class ErpStockOutController { return BeanUtils.toBean(records, ErpStockOutApproveRecordRespVO.class, record -> { MapUtils.findAndThen(userMap, NumberUtils.parseLong(record.getCreator()), user -> record.setCreatorName(user.getNickname())); MapUtils.findAndThen(userMap, record.getTargetUserId(), user -> record.setTargetUserName(user.getNickname())); + record.setFromStatusName(getStockOutStatusName(record.getFromStatus())); + record.setToStatusName(getStockOutStatusName(record.getToStatus())); }); } @@ -298,4 +302,7 @@ public class ErpStockOutController { return success(buildStockOutVOPageResult(stockOutService.getStockOutPage(pageReqVO))); } -} + private String getStockOutStatusName(Integer status) { + return ErpStockOutStatusEnum.OUT_STOCK.getStatus().equals(status) ? "已出库" : "待出库"; + } +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInApproveRecordRespVO.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInApproveRecordRespVO.java index 0acbf076d..ccd67c210 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInApproveRecordRespVO.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInApproveRecordRespVO.java @@ -21,9 +21,15 @@ public class ErpStockInApproveRecordRespVO { @Schema(description = "变更前状态", example = "0") private Integer fromStatus; + @Schema(description = "变更前状态名称", example = "待入库") + private String fromStatusName; + @Schema(description = "变更后状态", example = "10") private Integer toStatus; + @Schema(description = "变更后状态名称", example = "已入库") + private String toStatusName; + @Schema(description = "目标审核人编号", example = "1") private Long targetUserId; diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInPageReqVO.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInPageReqVO.java index 4c69306c2..b0d211aa6 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInPageReqVO.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInPageReqVO.java @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.validation.InEnum; -import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus; +import cn.iocoder.yudao.module.erp.enums.ErpStockInStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -31,7 +31,7 @@ public class ErpStockInPageReqVO extends PageParam { private LocalDateTime[] inTime; @Schema(description = "状态", example = "10") - @InEnum(ErpAuditStatus.class) + @InEnum(ErpStockInStatusEnum.class) private Integer status; @Schema(description = "入库类型", example = "其它入库") diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInRespVO.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInRespVO.java index a418c707b..57551db70 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInRespVO.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/in/ErpStockInRespVO.java @@ -66,6 +66,9 @@ public class ErpStockInRespVO { @DictFormat(AUDIT_STATUS) private Integer status; + @Schema(description = "状态名称", example = "待入库") + private String statusName; + @Schema(description = "备注", example = "随便") @ExcelProperty("备注") private String remark; @@ -97,6 +100,14 @@ public class ErpStockInRespVO { @Schema(description = "模具组名称") private String moldSetNames; + @Schema(description = "最近入库时间") + @ExcelProperty("最近入库时间") + private LocalDateTime recentInTime; + + @Schema(description = "最近出库时间") + @ExcelProperty("最近出库时间") + private LocalDateTime recentOutTime; + @Schema(description = "审核记录") private List approveRecords; diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutApproveRecordRespVO.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutApproveRecordRespVO.java index 9a080c18f..4ce6f50ce 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutApproveRecordRespVO.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutApproveRecordRespVO.java @@ -21,9 +21,15 @@ public class ErpStockOutApproveRecordRespVO { @Schema(description = "变更前状态", example = "0") private Integer fromStatus; + @Schema(description = "变更前状态名称", example = "待出库") + private String fromStatusName; + @Schema(description = "变更后状态", example = "10") private Integer toStatus; + @Schema(description = "变更后状态名称", example = "已出库") + private String toStatusName; + @Schema(description = "目标审核人编号", example = "1") private Long targetUserId; diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutPageReqVO.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutPageReqVO.java index f86ccebcb..b5f93dfce 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutPageReqVO.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutPageReqVO.java @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.validation.InEnum; -import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus; +import cn.iocoder.yudao.module.erp.enums.ErpStockOutStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -40,7 +40,7 @@ public class ErpStockOutPageReqVO extends PageParam { private LocalDateTime[] outTime; @Schema(description = "状态", example = "10") - @InEnum(ErpAuditStatus.class) + @InEnum(ErpStockOutStatusEnum.class) private Integer status; @Schema(description = "审核人编号", example = "1") diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutRespVO.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutRespVO.java index f9fcb7574..114f8341e 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutRespVO.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/vo/out/ErpStockOutRespVO.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO; +import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ProductPackagingSchemeRespVO; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; @@ -60,6 +61,9 @@ public class ErpStockOutRespVO { @DictFormat(AUDIT_STATUS) private Integer status; + @Schema(description = "状态名称", example = "待出库") + private String statusName; + @Schema(description = "是否需要审核", example = "true") private Boolean needAudit; @@ -96,6 +100,24 @@ public class ErpStockOutRespVO { @ExcelProperty("产品信息") private String productNames; + @Schema(description = "默认包装方案") + private ProductPackagingSchemeRespVO defaultPackagingScheme; + + @Schema(description = "默认包装方案ID", example = "1") + private Long defaultPackagingSchemeId; + + @Schema(description = "单位ID", example = "1") + private Long unitId; + + @Schema(description = "采购单位ID", example = "2") + private Long purchaseUnitId; + + @Schema(description = "采购单位名称", example = "箱") + private String purchaseUnitName; + + @Schema(description = "采购单位换算数量", example = "100") + private BigDecimal purchaseUnitConvertQuantity; + @Schema(description = "模具组名称") private String moldSetNames;