领料库存变化数量

This commit is contained in:
mashuai 2024-12-10 16:54:43 +08:00
parent f4e4bd379c
commit 2437d23fb5
4 changed files with 69 additions and 2 deletions

View File

@ -72,4 +72,16 @@ public class LeaseOutDetails extends BaseEntity {
@ApiModelProperty(value = "0工程1长期") @ApiModelProperty(value = "0工程1长期")
private String leaseType; private String leaseType;
/** 操作前库存 */
private BigDecimal preStoreNum;
/** 操作后库存 */
private BigDecimal postStoreNum;
/** 类型名称 */
private String typeName;
/** 规格型号 */
private String typeModelName;
} }

View File

@ -3,6 +3,7 @@ package com.bonus.material.lease.mapper;
import java.util.List; import java.util.List;
import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.common.biz.domain.lease.LeaseOutDetails;
import com.bonus.material.ma.domain.Type;
/** /**
* 领料出库详细Mapper接口 * 领料出库详细Mapper接口
@ -67,4 +68,17 @@ public interface LeaseOutDetailsMapper {
*/ */
public int deleteLeaseOutDetailsByIds(Long[] ids); public int deleteLeaseOutDetailsByIds(Long[] ids);
/**
* 查询实时库存
* @param record
* @return
*/
int getCountOfCodeMachine(LeaseOutDetails record);
/**
* 根据类型id查询类型
* @param record
* @return
*/
Type selectByTypeId(LeaseOutDetails record);
} }

View File

@ -155,7 +155,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
try { try {
// 1判断库存是否足够 // 1判断库存是否足够
boolean isEnough = checkStorageIsEnough(record); boolean isEnough = checkStorageIsEnough(record);
//record.setPreStoreNum(getStorageNum(record)); record.setPreStoreNum(getStorageNum(record));
if (isEnough) { if (isEnough) {
if ((record.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) && record.getInputNum() != null) { if ((record.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) && record.getInputNum() != null) {
record.setOutNum(record.getInputNum()); record.setOutNum(record.getInputNum());
@ -180,7 +180,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
if (res == 0) { if (res == 0) {
throw new RuntimeException("出库失败,插入结算记录失败"); throw new RuntimeException("出库失败,插入结算记录失败");
} }
//record.setPostStoreNum(getStorageNum(record)); record.setPostStoreNum(getStorageNum(record));
} else { } else {
return AjaxResult.error("领料出库失败,机具库存不足"); return AjaxResult.error("领料出库失败,机具库存不足");
} }
@ -194,6 +194,27 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
return AjaxResult.success("出库成功"); 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) { private boolean checkStorageIsEnough(LeaseOutDetails record) {
if (record.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) { if (record.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) {

View File

@ -54,6 +54,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </select>
<select id="getCountOfCodeMachine" resultType="java.lang.Integer">
select count(mm.ma_id)
FROM ma_type mt
left join ma_machine mm on mm.type_id=mt.type_id
WHERE
mm.type_id = #{typeId}
and mm.ma_code is not null
and mm.ma_status in (1)
and mt.`level` = 4
and mt.del_flag = '0'
</select>
<select id="selectByTypeId" resultType="com.bonus.material.ma.domain.Type">
select type_id as typeId,
manage_type as manageType,
storage_num as storageNum
from ma_type
where type_id = #{typeId}
</select>
<insert id="insertLeaseOutDetails" parameterType="com.bonus.common.biz.domain.lease.LeaseOutDetails" useGeneratedKeys="true" keyProperty="id"> <insert id="insertLeaseOutDetails" parameterType="com.bonus.common.biz.domain.lease.LeaseOutDetails" useGeneratedKeys="true" keyProperty="id">
insert into lease_out_details insert into lease_out_details
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">