From 2437d23fb5e724c5e40298d8ec96d5f285b7bf7d Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 10 Dec 2024 16:54:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=BA=93=E5=AD=98=E5=8F=98?= =?UTF-8?q?=E5=8C=96=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/lease/LeaseOutDetails.java | 12 +++++++++ .../lease/mapper/LeaseOutDetailsMapper.java | 14 +++++++++++ .../impl/LeaseOutDetailsServiceImpl.java | 25 +++++++++++++++++-- .../material/lease/LeaseOutDetailsMapper.xml | 20 +++++++++++++++ 4 files changed, 69 insertions(+), 2 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java index bda9ec2c..56274ed0 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java @@ -72,4 +72,16 @@ public class LeaseOutDetails extends BaseEntity { @ApiModelProperty(value = "0工程1长期") private String leaseType; + + /** 操作前库存 */ + private BigDecimal preStoreNum; + + /** 操作后库存 */ + private BigDecimal postStoreNum; + + /** 类型名称 */ + private String typeName; + + /** 规格型号 */ + private String typeModelName; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseOutDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseOutDetailsMapper.java index 8be1f951..ec9c0b3f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseOutDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseOutDetailsMapper.java @@ -3,6 +3,7 @@ package com.bonus.material.lease.mapper; import java.util.List; import com.bonus.common.biz.domain.lease.LeaseOutDetails; +import com.bonus.material.ma.domain.Type; /** * 领料出库详细Mapper接口 @@ -67,4 +68,17 @@ public interface LeaseOutDetailsMapper { */ public int deleteLeaseOutDetailsByIds(Long[] ids); + /** + * 查询实时库存 + * @param record + * @return + */ + int getCountOfCodeMachine(LeaseOutDetails record); + + /** + * 根据类型id查询类型 + * @param record + * @return + */ + Type selectByTypeId(LeaseOutDetails record); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index 2c386d46..20e5ddbe 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -155,7 +155,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { try { // 1、判断库存是否足够 boolean isEnough = checkStorageIsEnough(record); - //record.setPreStoreNum(getStorageNum(record)); + record.setPreStoreNum(getStorageNum(record)); if (isEnough) { if ((record.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) && record.getInputNum() != null) { record.setOutNum(record.getInputNum()); @@ -180,7 +180,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { if (res == 0) { throw new RuntimeException("出库失败,插入结算记录失败"); } - //record.setPostStoreNum(getStorageNum(record)); + record.setPostStoreNum(getStorageNum(record)); } else { return AjaxResult.error("领料出库失败,机具库存不足"); } @@ -194,6 +194,27 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { return AjaxResult.success("出库成功"); } + /** + * 查询操作前后库存 + * @param record + * @return + */ + private BigDecimal getStorageNum(LeaseOutDetails record) { + if (StringUtils.isNull(record)) { + return BigDecimal.ZERO; + } + //判断(ma_type 设备规格表)中的库存够不够出库的 + Type maType = leaseOutDetailsMapper.selectByTypeId(record); + if (maType != null) { + if ("1".equals(maType.getManageType())) { + return maType.getStorageNum(); + } else { + return BigDecimal.valueOf(leaseOutDetailsMapper.getCountOfCodeMachine(record)); + } + } + return BigDecimal.ZERO; + } + // 判断库存是否足够 private boolean checkStorageIsEnough(LeaseOutDetails record) { if (record.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml index ca9acacf..4139569f 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml @@ -54,6 +54,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + insert into lease_out_details