新购入库库存变化记录
This commit is contained in:
parent
7fc237a04a
commit
c1c8b2bb91
|
|
@ -1,10 +1,12 @@
|
|||
package com.bonus.common.biz.aspect;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.bonus.common.biz.annotation.StoreLog;
|
||||
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.service.AsyncStoreLogService;
|
||||
import com.bonus.common.biz.utils.HttpResult;
|
||||
import com.bonus.common.core.constant.SecurityConstants;
|
||||
|
|
@ -135,86 +137,35 @@ public class StoreLogAspect {
|
|||
BmStorageLog bmStorageLog = new BmStorageLog();
|
||||
bmStorageLog.setTaskId(String.valueOf(leaseOutDetails.getParentId()));
|
||||
bmStorageLog.setTypeId(leaseOutDetails.getTypeId());
|
||||
bmStorageLog.setTypeName(leaseOutDetails.getTypeName());
|
||||
bmStorageLog.setTypeName(leaseOutDetails.getTypeModelName());
|
||||
bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType()));
|
||||
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeModelName());
|
||||
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeName());
|
||||
bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum());
|
||||
bmStorageLog.setOutNum(Objects.isNull(leaseOutDetails.getInputNum()) ? BigDecimal.ZERO : leaseOutDetails.getInputNum());
|
||||
bmStorageLog.setPostStoreNum(leaseOutDetails.getPostStoreNum());
|
||||
bmStorageLogList.add(bmStorageLog);
|
||||
}
|
||||
}
|
||||
// // 盘点入库操作
|
||||
// if (joinPoint.getArgs()[0] instanceof SavePutInfoDto) {
|
||||
// SavePutInfoDto savePutInfoDto = (SavePutInfoDto) joinPoint.getArgs()[0];
|
||||
// for (MachIneDto machineDto : savePutInfoDto.getMachIneDtoList()) {
|
||||
// BmStorageLog bmStorageLog = new BmStorageLog();
|
||||
// bmStorageLog.setTypeId(Integer.parseInt(machineDto.getTypeId()));
|
||||
// bmStorageLog.setTypeName(machineDto.getMaCode());
|
||||
// bmStorageLog.setPreStoreNum(Objects.isNull(machineDto.getNum()) ? 0 : machineDto.getNum().intValue());
|
||||
// bmStorageLog.setInNum(Objects.isNull(machineDto.getPutInStoreNum()) ? 0 : machineDto.getPutInStoreNum().intValue());
|
||||
// bmStorageLog.setPostStoreNum(bmStorageLog.getPreStoreNum() + bmStorageLog.getInNum());
|
||||
// bmStorageLogList.add(bmStorageLog);
|
||||
// }
|
||||
// }
|
||||
// // 新购验收任务 PurchaseMacodeInfoController.modifyManageStatus
|
||||
// if (joinPoint.getArgs()[0] instanceof MaInputVO) {
|
||||
// MaInputVO maInputVO = (MaInputVO) joinPoint.getArgs()[0];
|
||||
// for (MaInputRecord maInputRecord : maInputVO.getInputRecordList()) {
|
||||
// BmStorageLog bmStorageLog = new BmStorageLog();
|
||||
// bmStorageLog.setTypeId(Objects.isNull(maInputRecord.getTypeId()) ? 0 : maInputRecord.getTypeId().intValue());
|
||||
// bmStorageLog.setTypeName(maInputRecord.getMaCode());
|
||||
// bmStorageLog.setPostStoreNum(Objects.isNull(maInputRecord.getNum()) ? 0: maInputRecord.getNum().intValue());
|
||||
// bmStorageLog.setInNum(Objects.isNull(maInputRecord.getInputNum()) ? 0: maInputRecord.getInputNum().intValue());
|
||||
// bmStorageLog.setPreStoreNum(bmStorageLog.getPostStoreNum() - bmStorageLog.getInNum());
|
||||
// bmStorageLog.setTaskId(String.valueOf(maInputRecord.getTaskId()));
|
||||
// bmStorageLogList.add(bmStorageLog);
|
||||
// }
|
||||
// }
|
||||
// // 领料出库
|
||||
// if (joinPoint.getArgs()[0] instanceof List &&
|
||||
// ((List) joinPoint.getArgs()[0]).stream().noneMatch((o -> !(o instanceof LeaseOutDetails)))) {
|
||||
// List<LeaseOutDetails> leaseOutDetails = (List<LeaseOutDetails>)joinPoint.getArgs()[0];
|
||||
// for (LeaseOutDetails lod : leaseOutDetails) {
|
||||
// BmStorageLog bmStorageLog = new BmStorageLog();
|
||||
// bmStorageLog.setTaskId(String.valueOf(lod.getTaskId()));
|
||||
// bmStorageLog.setTypeId(lod.getTypeId());
|
||||
// bmStorageLog.setTypeName(lod.getMaCode());
|
||||
// bmStorageLog.setPreStoreNum(lod.getPreStoreNum());
|
||||
// bmStorageLog.setOutNum(Objects.isNull(lod.getInputNum()) ? 0 : lod.getInputNum().intValue());
|
||||
// bmStorageLog.setPostStoreNum(lod.getPostStoreNum());
|
||||
// bmStorageLogList.add(bmStorageLog);
|
||||
// }
|
||||
// }
|
||||
// if (joinPoint.getArgs()[0] instanceof LeaseOutDetails) {
|
||||
// LeaseOutDetails lod = (LeaseOutDetails)joinPoint.getArgs()[0];
|
||||
// BmStorageLog bmStorageLog = new BmStorageLog();
|
||||
// bmStorageLog.setTaskId(String.valueOf(lod.getTaskId()));
|
||||
// bmStorageLog.setTypeId(lod.getTypeId());
|
||||
// bmStorageLog.setTypeName(lod.getMaCode());
|
||||
// bmStorageLog.setPreStoreNum(lod.getPreStoreNum());
|
||||
// bmStorageLog.setOutNum(Objects.isNull(lod.getInputNum()) ? 0 : lod.getInputNum().intValue());
|
||||
// bmStorageLog.setPostStoreNum(lod.getPostStoreNum());
|
||||
// bmStorageLogList.add(bmStorageLog);
|
||||
// }
|
||||
// // 退料接收-完成退料
|
||||
// if (joinPoint.getArgs()[0] instanceof BackApplyInfo) {
|
||||
// BackApplyInfo bai = (BackApplyInfo)joinPoint.getArgs()[0];
|
||||
// BmStorageLog bmStorageLog = new BmStorageLog();
|
||||
// bmStorageLog.setTaskId(String.valueOf(bai.getTaskId()));
|
||||
// bmStorageLog.setTypeId(Integer.parseInt(bai.getTypeId()));
|
||||
// bmStorageLog.setTypeName(bai.getMaCode());
|
||||
// bmStorageLog.setPreStoreNum(bai.getNum());
|
||||
// bmStorageLog.setBackNum(bai.getBackNum());
|
||||
// bmStorageLog.setPassNum(bai.getPassNum());
|
||||
// bmStorageLog.setMaintenanceNum(bai.getMaintenanceNum());
|
||||
// bmStorageLog.setScrapNum(bai.getScrapNum());
|
||||
// bmStorageLog.setPostStoreNum(bai.getPostStoreNum());
|
||||
// bmStorageLogList.add(bmStorageLog);
|
||||
// }
|
||||
// } else {
|
||||
// log.warn("没有获取到请求参数{},或请求方式不是POST、PUT请求:{}", joinPoint.getSignature(), requestMethod);
|
||||
// }
|
||||
// 新购验收任务 PurchaseMacodeInfoController.modifyManageStatus
|
||||
if (joinPoint.getArgs()[0] instanceof PurchaseDto) {
|
||||
PurchaseDto purchaseDto = (PurchaseDto) joinPoint.getArgs()[0];
|
||||
BmStorageLog bmStorageLog = new BmStorageLog();
|
||||
// 公共部分
|
||||
bmStorageLog.setTypeId(Long.valueOf(purchaseDto.getTypeId()));
|
||||
bmStorageLog.setTypeName(purchaseDto.getTypeName());
|
||||
bmStorageLog.setTypeModelName(purchaseDto.getTypeModelName());
|
||||
bmStorageLog.setManageType(String.valueOf(purchaseDto.getManageType()));
|
||||
bmStorageLog.setPostStoreNum(purchaseDto.getPostStoreNum());
|
||||
bmStorageLog.setPreStoreNum(purchaseDto.getPreStoreNum());
|
||||
bmStorageLog.setTaskId(String.valueOf(purchaseDto.getTaskId()));
|
||||
// 根据 InPutList 设置 InNum
|
||||
if (CollectionUtils.isNotEmpty(purchaseDto.getInPutList())) {
|
||||
bmStorageLog.setInNum(BigDecimal.valueOf(purchaseDto.getInPutList().size()));
|
||||
} else {
|
||||
bmStorageLog.setInNum(purchaseDto.getInputNum());
|
||||
}
|
||||
bmStorageLogList.add(bmStorageLog);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,9 +79,9 @@ public class LeaseOutDetails extends BaseEntity {
|
|||
/** 操作后库存 */
|
||||
private BigDecimal postStoreNum;
|
||||
|
||||
/** 类型名称 */
|
||||
/** 规格型号 */
|
||||
private String typeName;
|
||||
|
||||
/** 规格型号 */
|
||||
/** 类型名称 */
|
||||
private String typeModelName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.bonus.material.purchase.domain.dto;
|
||||
package com.bonus.common.biz.domain.purchase;
|
||||
|
||||
import com.bonus.common.core.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
|
@ -7,6 +7,7 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -32,7 +33,7 @@ public class PurchaseDto {
|
|||
private Integer supplierId;
|
||||
|
||||
@ApiModelProperty(value="入库数量")
|
||||
private Integer inputNum;
|
||||
private BigDecimal inputNum;
|
||||
|
||||
@ApiModelProperty(value = "开始时间")
|
||||
private String startTime;
|
||||
|
|
@ -97,6 +98,9 @@ public class PurchaseDto {
|
|||
@ApiModelProperty(value = "验收结论")
|
||||
private String checkResult;
|
||||
|
||||
@ApiModelProperty(value = "出库类型 0编码出库 1数量出库 2成套出库")
|
||||
private String manageType;
|
||||
|
||||
private String createBy;
|
||||
|
||||
private Date createTime;
|
||||
|
|
@ -104,4 +108,16 @@ public class PurchaseDto {
|
|||
private String updateBy;
|
||||
|
||||
private Date updateTime;
|
||||
|
||||
/** 操作前库存 */
|
||||
private BigDecimal preStoreNum;
|
||||
|
||||
/** 操作后库存 */
|
||||
private BigDecimal postStoreNum;
|
||||
|
||||
/** 类型名称 */
|
||||
private String typeName;
|
||||
|
||||
/** 规格型号 */
|
||||
private String typeModelName;
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@ import com.bonus.common.log.annotation.SysLog;
|
|||
import com.bonus.common.log.enums.OperaType;
|
||||
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||
import com.bonus.common.security.annotation.RequiresPermissions;
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.service.IPurchaseBindService;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
import io.swagger.annotations.Api;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.bonus.common.log.annotation.SysLog;
|
|||
import com.bonus.common.log.enums.OperaType;
|
||||
import com.bonus.common.security.annotation.RequiresPermissions;
|
||||
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.service.IPurchaseStorageService;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
import io.swagger.annotations.Api;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.bonus.material.purchase.mapper;
|
||||
|
||||
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.bonus.material.purchase.mapper;
|
||||
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.bonus.material.purchase.service;
|
||||
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.bonus.material.purchase.service;
|
||||
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
|
||||
import java.util.List;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.bonus.common.core.utils.DateUtils;
|
|||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.purchase.config.RemoteConfig;
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
||||
import com.bonus.material.purchase.service.IPurchaseBindService;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
|
|
|
|||
|
|
@ -1,20 +1,24 @@
|
|||
package com.bonus.material.purchase.service.impl;
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.bonus.common.biz.constant.MaterialConstants;
|
||||
import com.bonus.common.biz.domain.lease.LeaseOutDetails;
|
||||
import com.bonus.common.biz.enums.HttpCodeEnum;
|
||||
import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
|
||||
import com.bonus.common.biz.enums.PurchaseTaskStatusEnum;
|
||||
import com.bonus.common.core.utils.StringUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.material.lease.mapper.LeaseOutDetailsMapper;
|
||||
import com.bonus.material.ma.domain.Type;
|
||||
import com.bonus.material.ma.mapper.MachineMapper;
|
||||
import com.bonus.material.purchase.config.RemoteConfig;
|
||||
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
|
||||
import com.bonus.material.purchase.domain.dto.PurchaseDto;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
||||
import com.bonus.material.purchase.mapper.PurchaseStorageMapper;
|
||||
import com.bonus.material.purchase.service.IPurchaseStorageService;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -36,7 +40,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
private PurchaseStorageMapper purchaseStorageMapper;
|
||||
|
||||
@Resource
|
||||
private MachineMapper machineMapper;
|
||||
private LeaseOutDetailsMapper leaseOutDetailsMapper;
|
||||
|
||||
@Resource
|
||||
private PurchaseBindMapper purchaseBindMapper;
|
||||
|
|
@ -206,10 +210,14 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
int result = 0;
|
||||
try {
|
||||
//判断为数量还是编码入库
|
||||
purchaseDto.setPreStoreNum(getStorageNum(purchaseDto));
|
||||
if (CollectionUtils.isEmpty(purchaseDto.getInPutList())) {
|
||||
//数量入库
|
||||
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
|
||||
result += updatePurchaseInfoAndDetails(details.get(0), Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
if (CollectionUtils.isNotEmpty(details)) {
|
||||
purchaseDto.setInputNum(details.get(0).getCheckNum());
|
||||
result += updatePurchaseInfoAndDetails(details.get(0), Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
}
|
||||
} else {
|
||||
//编码入库
|
||||
List<PurchaseVo> purchaseVoList = purchaseBindMapper.selectPurchaseCheckInfoById(purchaseDto);
|
||||
|
|
@ -235,6 +243,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
}
|
||||
List<PurchaseVo> statusList = purchaseStorageMapper.select(purchaseDto.getTaskId());
|
||||
result += updateTaskStatus(statusList);
|
||||
purchaseDto.setPostStoreNum(getStorageNum(purchaseDto));
|
||||
if (result > 0) {
|
||||
return AjaxResult.success("入库成功");
|
||||
}
|
||||
|
|
@ -244,6 +253,29 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取库存数量
|
||||
* @param record
|
||||
* @return
|
||||
*/
|
||||
private BigDecimal getStorageNum(PurchaseDto record) {
|
||||
if (StringUtils.isNull(record)) {
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
//判断(ma_type 设备规格表)中的库存够不够出库的
|
||||
LeaseOutDetails leaseOutDetails = new LeaseOutDetails();
|
||||
leaseOutDetails.setTypeId(Long.valueOf(record.getTypeId()));
|
||||
Type maType = leaseOutDetailsMapper.selectByTypeId(leaseOutDetails);
|
||||
if (maType != null) {
|
||||
if ("1".equals(maType.getManageType())) {
|
||||
return maType.getStorageNum();
|
||||
} else {
|
||||
return BigDecimal.valueOf(leaseOutDetailsMapper.getCountOfCodeMachine(leaseOutDetails));
|
||||
}
|
||||
}
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新采购单和采购明细
|
||||
* @param detail
|
||||
|
|
|
|||
|
|
@ -256,7 +256,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
qr_code DESC
|
||||
</select>
|
||||
|
||||
<select id="selectByCode" resultType="com.bonus.material.purchase.domain.dto.PurchaseDto">
|
||||
<select id="selectByCode" resultType="com.bonus.common.biz.domain.purchase.PurchaseDto">
|
||||
SELECT
|
||||
task_id as taskId,
|
||||
type_id as typeId,
|
||||
|
|
|
|||
Loading…
Reference in New Issue