stock add categoryId

plp
chenshuichuan 2 years ago
parent ca5cfa720b
commit a73a5d7bbb

@ -80,7 +80,16 @@ public class ErpProductController {
public CommonResult<PageResult<ErpProductRespVO>> getProductPage(@Valid ErpProductPageReqVO pageReqVO) { public CommonResult<PageResult<ErpProductRespVO>> getProductPage(@Valid ErpProductPageReqVO pageReqVO) {
return success(productService.getProductVOPage(pageReqVO)); return success(productService.getProductVOPage(pageReqVO));
} }
@GetMapping("/simple-list-all")
@Operation(summary = "获得所有精简列表", description = "只包含被开启的产品,主要用于前端的下拉选项")
public CommonResult<List<ErpProductRespVO>> getAllSimpleList() {
List<ErpProductRespVO> list = productService.getProductVOListByStatus(CommonStatusEnum.ENABLE.getStatus());
return success(convertList(list, product -> new ErpProductRespVO().setId(product.getId())
.setName(product.getName()).setBarCode(product.getBarCode())
.setCategoryId(product.getCategoryId()).setCategoryName(product.getCategoryName())
.setUnitId(product.getUnitId()).setUnitName(product.getUnitName())
.setPurchasePrice(product.getPurchasePrice()).setSalePrice(product.getSalePrice()).setMinPrice(product.getMinPrice())));
}
@GetMapping("/simple-list-product") @GetMapping("/simple-list-product")
@Operation(summary = "获得产品精简列表", description = "只包含被开启的产品,主要用于前端的下拉选项") @Operation(summary = "获得产品精简列表", description = "只包含被开启的产品,主要用于前端的下拉选项")
public CommonResult<List<ErpProductRespVO>> getProductSimpleList() { public CommonResult<List<ErpProductRespVO>> getProductSimpleList() {
@ -107,10 +116,14 @@ public class ErpProductController {
List<ErpProductRespVO> list1 = productService.getProductVOListByCategory(ProductTypeEnum.ITEM.getTypeId()); List<ErpProductRespVO> list1 = productService.getProductVOListByCategory(ProductTypeEnum.ITEM.getTypeId());
List<ErpProductRespVO> list2 = productService.getProductVOListByCategory(ProductTypeEnum.TOOL.getTypeId()); List<ErpProductRespVO> list2 = productService.getProductVOListByCategory(ProductTypeEnum.TOOL.getTypeId());
List<ErpProductRespVO> list3 = productService.getProductVOListByCategory(ProductTypeEnum.HAOCAI.getTypeId()); List<ErpProductRespVO> list3 = productService.getProductVOListByCategory(ProductTypeEnum.HAOCAI.getTypeId());
List<ErpProductRespVO> list4 = productService.getProductVOListByCategory(ProductTypeEnum.GUANJJ.getTypeId());
List<ErpProductRespVO> list = new ArrayList<>(); List<ErpProductRespVO> list = new ArrayList<>();
list.addAll(list3); list.addAll(list3);
list.addAll(list1); list.addAll(list1);
list.addAll(list2); list.addAll(list2);
list.addAll(list4);
return success(convertList(list, product -> new ErpProductRespVO().setId(product.getId()) return success(convertList(list, product -> new ErpProductRespVO().setId(product.getId())
.setName(product.getName()).setBarCode(product.getBarCode()) .setName(product.getName()).setBarCode(product.getBarCode())
.setCategoryId(product.getCategoryId()).setCategoryName(product.getCategoryName()) .setCategoryId(product.getCategoryId()).setCategoryName(product.getCategoryName())

@ -18,4 +18,6 @@ public class ErpStockPageReqVO extends PageParam {
@Schema(description = "仓库编号", example = "2802") @Schema(description = "仓库编号", example = "2802")
private Long warehouseId; private Long warehouseId;
@Schema(description = "产品分类", example = "2802")
private Long categoryId;
} }

@ -26,6 +26,8 @@ public class ErpStockRespVO {
@ExcelProperty("库存数量") @ExcelProperty("库存数量")
private BigDecimal count; private BigDecimal count;
@Schema(description = "产品分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11161")
private Long categoryId;
// ========== 产品信息 ========== // ========== 产品信息 ==========
@Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "苹果") @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "苹果")

@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -45,5 +46,6 @@ public class ErpStockDO extends BaseDO {
* *
*/ */
private BigDecimal count; private BigDecimal count;
//@Schema(description = "产品分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11161")
private Long categoryId;
} }

@ -27,6 +27,7 @@ public interface ErpStockMapper extends BaseMapperX<ErpStockDO> {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpStockDO>() return selectPage(reqVO, new LambdaQueryWrapperX<ErpStockDO>()
.eqIfPresent(ErpStockDO::getProductId, reqVO.getProductId()) .eqIfPresent(ErpStockDO::getProductId, reqVO.getProductId())
.eqIfPresent(ErpStockDO::getWarehouseId, reqVO.getWarehouseId()) .eqIfPresent(ErpStockDO::getWarehouseId, reqVO.getWarehouseId())
.eqIfPresent(ErpStockDO::getCategoryId, reqVO.getCategoryId())
.orderByDesc(ErpStockDO::getId)); .orderByDesc(ErpStockDO::getId));
} }

@ -14,7 +14,8 @@ public enum ProductTypeEnum implements IntArrayValuable {
ITEM(1, "原料"), ITEM(1, "原料"),
PRODUCT(2, "产品"), PRODUCT(2, "产品"),
TOOL(3, "工具"), TOOL(3, "工具"),
HAOCAI(4, "耗材"); HAOCAI(4, "耗材"),
GUANJJ(5, "关键件");
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductTypeEnum::getTypeId).toArray(); public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductTypeEnum::getTypeId).toArray();
/** /**

@ -182,8 +182,10 @@ public class ErpPurchaseInServiceImpl implements ErpPurchaseInService {
: ErpStockRecordBizTypeEnum.PURCHASE_IN_CANCEL.getType(); : ErpStockRecordBizTypeEnum.PURCHASE_IN_CANCEL.getType();
purchaseInItems.forEach(purchaseInItem -> { purchaseInItems.forEach(purchaseInItem -> {
BigDecimal count = approve ? purchaseInItem.getCount() : purchaseInItem.getCount().negate(); BigDecimal count = approve ? purchaseInItem.getCount() : purchaseInItem.getCount().negate();
ErpProductDO productDO = productService.getProduct(purchaseInItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
purchaseInItem.getProductId(), purchaseInItem.getWarehouseId(), count, purchaseInItem.getProductId(),productDO.getCategoryId(), purchaseInItem.getWarehouseId(), count,
bizType, purchaseInItem.getInId(), purchaseInItem.getId(), purchaseIn.getNo())); bizType, purchaseInItem.getInId(), purchaseInItem.getId(), purchaseIn.getNo()));
}); });
} }

@ -177,8 +177,9 @@ public class ErpPurchaseReturnServiceImpl implements ErpPurchaseReturnService {
: ErpStockRecordBizTypeEnum.PURCHASE_RETURN_CANCEL.getType(); : ErpStockRecordBizTypeEnum.PURCHASE_RETURN_CANCEL.getType();
purchaseReturnItems.forEach(purchaseReturnItem -> { purchaseReturnItems.forEach(purchaseReturnItem -> {
BigDecimal count = approve ? purchaseReturnItem.getCount().negate() : purchaseReturnItem.getCount(); BigDecimal count = approve ? purchaseReturnItem.getCount().negate() : purchaseReturnItem.getCount();
ErpProductDO productDO = productService.getProduct(purchaseReturnItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
purchaseReturnItem.getProductId(), purchaseReturnItem.getWarehouseId(), count, purchaseReturnItem.getProductId(),productDO.getCategoryId(), purchaseReturnItem.getWarehouseId(), count,
bizType, purchaseReturnItem.getReturnId(), purchaseReturnItem.getId(), purchaseReturn.getNo())); bizType, purchaseReturnItem.getReturnId(), purchaseReturnItem.getId(), purchaseReturn.getNo()));
}); });
} }

@ -189,8 +189,9 @@ public class ErpSaleOutServiceImpl implements ErpSaleOutService {
: ErpStockRecordBizTypeEnum.SALE_OUT_CANCEL.getType(); : ErpStockRecordBizTypeEnum.SALE_OUT_CANCEL.getType();
saleOutItems.forEach(saleOutItem -> { saleOutItems.forEach(saleOutItem -> {
BigDecimal count = approve ? saleOutItem.getCount().negate() : saleOutItem.getCount(); BigDecimal count = approve ? saleOutItem.getCount().negate() : saleOutItem.getCount();
ErpProductDO productDO = productService.getProduct(saleOutItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
saleOutItem.getProductId(), saleOutItem.getWarehouseId(), count, saleOutItem.getProductId(),productDO.getCategoryId(), saleOutItem.getWarehouseId(), count,
bizType, saleOutItem.getOutId(), saleOutItem.getId(), saleOut.getNo())); bizType, saleOutItem.getOutId(), saleOutItem.getId(), saleOut.getNo()));
}); });
} }

@ -189,8 +189,9 @@ public class ErpSaleReturnServiceImpl implements ErpSaleReturnService {
: ErpStockRecordBizTypeEnum.SALE_RETURN_CANCEL.getType(); : ErpStockRecordBizTypeEnum.SALE_RETURN_CANCEL.getType();
saleReturnItems.forEach(saleReturnItem -> { saleReturnItems.forEach(saleReturnItem -> {
BigDecimal count = approve ? saleReturnItem.getCount() : saleReturnItem.getCount().negate(); BigDecimal count = approve ? saleReturnItem.getCount() : saleReturnItem.getCount().negate();
ErpProductDO productDO = productService.getProduct(saleReturnItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
saleReturnItem.getProductId(), saleReturnItem.getWarehouseId(), count, saleReturnItem.getProductId(),productDO.getCategoryId(), saleReturnItem.getWarehouseId(), count,
bizType, saleReturnItem.getReturnId(), saleReturnItem.getId(), saleReturn.getNo())); bizType, saleReturnItem.getReturnId(), saleReturnItem.getId(), saleReturn.getNo()));
}); });
} }

@ -135,8 +135,9 @@ public class ErpStockCheckServiceImpl implements ErpStockCheckService {
bizType = count.compareTo(BigDecimal.ZERO) > 0 ? ErpStockRecordBizTypeEnum.CHECK_MORE_IN_CANCEL.getType() bizType = count.compareTo(BigDecimal.ZERO) > 0 ? ErpStockRecordBizTypeEnum.CHECK_MORE_IN_CANCEL.getType()
: ErpStockRecordBizTypeEnum.CHECK_LESS_OUT_CANCEL.getType(); : ErpStockRecordBizTypeEnum.CHECK_LESS_OUT_CANCEL.getType();
} }
ErpProductDO productDO = productService.getProduct(stockCheckItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockCheckItem.getProductId(), stockCheckItem.getWarehouseId(), count, stockCheckItem.getProductId(),productDO.getCategoryId(), stockCheckItem.getWarehouseId(), count,
bizType, stockCheckItem.getCheckId(), stockCheckItem.getId(), stockCheck.getNo())); bizType, stockCheckItem.getCheckId(), stockCheckItem.getId(), stockCheck.getNo()));
}); });
} }

@ -130,8 +130,9 @@ public class ErpStockInServiceImpl implements ErpStockInService {
: ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType(); : ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType();
stockInItems.forEach(stockInItem -> { stockInItems.forEach(stockInItem -> {
BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate(); BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate();
ErpProductDO productDO = productService.getProduct(stockInItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockInItem.getProductId(), stockInItem.getWarehouseId(), count, stockInItem.getProductId(),productDO.getCategoryId(), stockInItem.getWarehouseId(), count,
bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo())); bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo()));
}); });
} }

@ -128,11 +128,13 @@ public class ErpStockMoveServiceImpl implements ErpStockMoveService {
stockMoveItems.forEach(stockMoveItem -> { stockMoveItems.forEach(stockMoveItem -> {
BigDecimal fromCount = approve ? stockMoveItem.getCount().negate() : stockMoveItem.getCount(); BigDecimal fromCount = approve ? stockMoveItem.getCount().negate() : stockMoveItem.getCount();
BigDecimal toCount = approve ? stockMoveItem.getCount() : stockMoveItem.getCount().negate(); BigDecimal toCount = approve ? stockMoveItem.getCount() : stockMoveItem.getCount().negate();
ErpProductDO productDO = productService.getProduct(stockMoveItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockMoveItem.getProductId(), stockMoveItem.getFromWarehouseId(), fromCount, stockMoveItem.getProductId(),productDO.getCategoryId(), stockMoveItem.getFromWarehouseId(), fromCount,
fromBizType, stockMoveItem.getMoveId(), stockMoveItem.getId(), stockMove.getNo())); fromBizType, stockMoveItem.getMoveId(), stockMoveItem.getId(), stockMove.getNo()));
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockMoveItem.getProductId(), stockMoveItem.getToWarehouseId(), toCount, stockMoveItem.getProductId(),productDO.getCategoryId(), stockMoveItem.getToWarehouseId(), toCount,
toBizType, stockMoveItem.getMoveId(), stockMoveItem.getId(), stockMove.getNo())); toBizType, stockMoveItem.getMoveId(), stockMoveItem.getId(), stockMove.getNo()));
}); });
} }

@ -131,8 +131,9 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
: ErpStockRecordBizTypeEnum.OTHER_OUT_CANCEL.getType(); : ErpStockRecordBizTypeEnum.OTHER_OUT_CANCEL.getType();
stockOutItems.forEach(stockOutItem -> { stockOutItems.forEach(stockOutItem -> {
BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount(); BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount();
ErpProductDO productDO = productService.getProduct(stockOutItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockOutItem.getProductId(), stockOutItem.getWarehouseId(), count, stockOutItem.getProductId(),productDO.getCategoryId(), stockOutItem.getWarehouseId(), count,
bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo())); bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo()));
}); });
} }

@ -22,6 +22,11 @@ public class ErpStockRecordCreateReqBO {
*/ */
@NotNull(message = "产品编号不能为空") @NotNull(message = "产品编号不能为空")
private Long productId; private Long productId;
/**
*
*/
@NotNull(message = "产品类型不能为空")
private Long categoryId;
/** /**
* *
*/ */

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo; package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -70,4 +71,13 @@ public class ProduceReportDetailPageReqVO extends PageParam {
private Integer reportStatus; private Integer reportStatus;
@Schema(description = "计件时间", example = "10:10-12:00,14:10-16:10") @Schema(description = "计件时间", example = "10:10-12:00,14:10-16:10")
private String reportTime; private String reportTime;
@Schema(description = "工序类型")
private String orgType;
/**
*
*/
@Schema(description = "报工类型")
private String reportType;
} }

@ -93,4 +93,16 @@ public class ProduceReportDetailRespVO {
@DictFormat("mes_record_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 @DictFormat("mes_record_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private Integer reportStatus; private Integer reportStatus;
/**
*
*/
@Schema(description = "工序类型")
@ExcelProperty("工序类型")
private String orgType;
/**
*
*/
@Schema(description = "报工类型")
@ExcelProperty("报工类型")
private String reportType;
} }

@ -54,6 +54,14 @@ public class ProduceReportDetailDO extends BaseDO {
* ID * ID
*/ */
private Long orgId; private Long orgId;
/**
*
*/
private String orgType;
/**
*
*/
private String reportType;
/** /**
* *
*/ */

Loading…
Cancel
Save