库存日志调整

This commit is contained in:
mashuai 2024-12-17 14:16:14 +08:00
parent 8956bf67b0
commit 054f0bdeb6
5 changed files with 42 additions and 8 deletions

View File

@ -7,6 +7,7 @@ import com.bonus.common.biz.domain.BmStorageLog;
import com.bonus.common.biz.domain.lease.LeaseOutDetails;
import com.bonus.common.biz.domain.lease.LeaseOutRequestVo;
import com.bonus.common.biz.domain.purchase.PurchaseDto;
import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
import com.bonus.common.biz.service.AsyncStoreLogService;
import com.bonus.common.biz.utils.HttpResult;
import com.bonus.common.core.constant.SecurityConstants;
@ -33,6 +34,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @author : 阮世耀
@ -133,20 +135,42 @@ public class StoreLogAspect {
// 领料出库库存变化
if (joinPoint.getArgs()[0] instanceof LeaseOutRequestVo) {
LeaseOutRequestVo lod = (LeaseOutRequestVo) joinPoint.getArgs()[0];
//数量类型设备
for (LeaseOutDetails leaseOutDetails : lod.getLeaseOutDetailsList()) {
if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) {
BmStorageLog bmStorageLog = new BmStorageLog();
bmStorageLog.setTaskId(String.valueOf(leaseOutDetails.getParentId()));
bmStorageLog.setTypeId(leaseOutDetails.getTypeId());
bmStorageLog.setTypeName(leaseOutDetails.getTypeModelName());
bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType()));
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeName());
bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum());
bmStorageLog.setOutNum(leaseOutDetails.getInputNum());
bmStorageLog.setPostStoreNum(leaseOutDetails.getPostStoreNum());
bmStorageLogList.add(bmStorageLog);
}
}
//编码类型设备
LeaseOutDetails leaseOutDetails = lod.getLeaseOutDetailsList().get(0);
if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.CODE_DEVICE.getTypeId())) {
BmStorageLog bmStorageLog = new BmStorageLog();
bmStorageLog.setTaskId(String.valueOf(leaseOutDetails.getParentId()));
bmStorageLog.setTypeId(leaseOutDetails.getTypeId());
bmStorageLog.setTypeName(leaseOutDetails.getTypeModelName());
bmStorageLog.setTypeName(leaseOutDetails.getTypeName());
bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType()));
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeName());
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeModelName());
String maCode = lod.getLeaseOutDetailsList().stream()
.map(LeaseOutDetails::getMaCode)
.filter(Objects::nonNull)
.collect(Collectors.joining(","));
bmStorageLog.setMaCode(maCode);
bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum());
bmStorageLog.setOutNum(Objects.isNull(leaseOutDetails.getInputNum()) ? BigDecimal.ZERO : leaseOutDetails.getInputNum());
bmStorageLog.setPostStoreNum(leaseOutDetails.getPostStoreNum());
bmStorageLog.setOutNum(BigDecimal.valueOf(lod.getLeaseOutDetailsList().size()));
bmStorageLog.setPostStoreNum(leaseOutDetails.getPreStoreNum().subtract(bmStorageLog.getOutNum()));
bmStorageLogList.add(bmStorageLog);
}
}
// 新购验收任务 PurchaseMacodeInfoController.modifyManageStatus
// 新购验收任务
if (joinPoint.getArgs()[0] instanceof PurchaseDto) {
PurchaseDto purchaseDto = (PurchaseDto) joinPoint.getArgs()[0];
BmStorageLog bmStorageLog = new BmStorageLog();
@ -161,6 +185,11 @@ public class StoreLogAspect {
// 根据 InPutList 设置 InNum
if (CollectionUtils.isNotEmpty(purchaseDto.getInPutList())) {
bmStorageLog.setInNum(BigDecimal.valueOf(purchaseDto.getInPutList().size()));
String maCode = purchaseDto.getInPutList().stream()
.filter(Objects::nonNull)
.map(PurchaseDto::getMaCode)
.collect(Collectors.joining(","));
bmStorageLog.setMaCode(maCode);
} else {
bmStorageLog.setInNum(purchaseDto.getInputNum());
}

View File

@ -40,6 +40,9 @@ public class BmStorageLog extends BaseEntity
@ApiModelProperty(value = "规格id")
private Long typeId;
@ApiModelProperty(value = "机具id")
private String maCode;
/** 操作前库存数量 */
@Excel(name = "操作前库存数量")
@ApiModelProperty(value = "操作前库存数量")

View File

@ -39,6 +39,9 @@ public class LeaseOutDetails extends BaseEntity {
@ApiModelProperty(value = "机具ID")
private Long maId;
@ApiModelProperty(value = "机具code")
private String maCode;
/** 预领料数 */
@Excel(name = "预领料数")
@ApiModelProperty(value = "预领料数")

View File

@ -180,7 +180,6 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
if (res == 0) {
throw new RuntimeException("出库失败,插入结算记录失败");
}
record.setPostStoreNum(getStorageNum(record));
} else {
return AjaxResult.error("领料出库失败,机具库存不足");
}

View File

@ -121,14 +121,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="com.bonus.common.biz.domain.BmStorageLog" useGeneratedKeys="true">
insert into bm_storage_log (model_title, `method`, task_id, type_id,
create_time, creator, remark, manage_type,
ma_code, create_time, creator, remark, manage_type,
type_name, type_model_name, pre_store_num, in_num, out_num,
back_num, pass_num, repair_num, agreement_id,
scrap_num, `status`, post_store_num, result_code, result_msg, json_result
) values
<foreach item="item" index="index" collection="list" separator=",">
(
#{item.modelTitle}, #{item.method}, #{item.taskId}, #{item.typeId},
#{item.modelTitle}, #{item.method}, #{item.taskId}, #{item.typeId},#{item.maCode},
now(), #{item.creator}, #{item.remark}, #{item.manageType},#{item.typeName},
#{item.typeModelName}, #{item.preStoreNum}, #{item.inNum},#{item.outNum},
#{item.backNum}, #{item.passNum}, #{item.repairNum}, #{item.agreementId},