fix:修改仓库出入库审核状态

main
HuangHuiKang 1 day ago
parent 577b59e982
commit d88b519326

@ -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;
}
}

@ -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;
}
}

@ -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<ErpStockInItemDO> stockInItemList,
List<ErpStockInApproveRecordDO> approveRecords) {
ErpStockInRespVO stockInVO = BeanUtils.toBean(stockIn, ErpStockInRespVO.class);
stockInVO.setStatusName(getStockInStatusName(stockIn.getStatus()));
Map<Long, ErpWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
convertSet(stockInItemList, ErpStockInItemDO::getWarehouseId));
Map<Long, WarehouseAreaDO> 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) ? "已入库" : "待入库";
}
}

@ -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<ErpStockOutItemDO> stockOutItemList,
List<ErpStockOutApproveRecordDO> approveRecords) {
ErpStockOutRespVO stockOutVO = BeanUtils.toBean(stockOut, ErpStockOutRespVO.class);
stockOutVO.setStatusName(getStockOutStatusName(stockOut.getStatus()));
Map<Long, AdminUserRespDTO> 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) ? "已出库" : "待出库";
}
}

@ -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;

@ -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 = "其它入库")

@ -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<ErpStockInApproveRecordRespVO> approveRecords;

@ -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;

@ -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")

@ -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;

Loading…
Cancel
Save