🆕 审核提交接口
All checks were successful
Release / Release (push) Successful in 34s

This commit is contained in:
my_ong 2024-12-10 21:11:26 +08:00
parent 4beeac3268
commit cad9484ec0
2 changed files with 39 additions and 7 deletions

View File

@ -242,20 +242,40 @@ public class ApplyFormController {
@PostMapping("submit-review")
@Operation(summary = "提交审核")
@Transactional(rollbackFor = Exception.class)
public void submitReview(@Parameter(description = "异常数据列表") @RequestBody ReviewDTO reviewDTO) {
applyFormService.update(Wrappers.<ApplyForm>lambdaUpdate()
.set(ApplyForm::getReviewResult, reviewDTO.getReviewResult())
.set(reviewDTO.getReviewResult() == ReviewResultEnum.PASS, ApplyForm::getConfirm, Boolean.TRUE)
.set(ApplyForm::getReviewRemark, reviewDTO.getRemark())
.eq(ApplyForm::getId, reviewDTO.getApplyId()));
if(reviewDTO.getReviewResult() == ReviewResultEnum.PASS){
if (reviewDTO.getReviewResult() == ReviewResultEnum.PASS) {
//修改库存明细状态和库存数量
List<StocktakingScanExceptionalData> list = stocktakingScanExceptionalDataService.list(Wrappers.<StocktakingScanExceptionalData>lambdaQuery()
.eq(StocktakingScanExceptionalData::getApplyId, reviewDTO.getApplyId()));
list.forEach(data -> {
// if(data.getExceptionHandle() == StocktakingExceptonalStatusEnum.SOCK_OUT_BUT_SCAN_EXIST){
//
// }
// 新入库 归还 丢失 需要处理
if (data.getExceptionHandle() == HandleEnum.MARK_NEW) {
// 新增库存明细 增加库存数量
materialStockDetailService.save(MaterialStockDetail.builder()
.applyId(null)
.materialId(data.getMaterialId())
.barcode(data.getBarcode())
.status(StockStatusEnum.IN)
.build());
materialService.update(Wrappers.<Material>lambdaUpdate()
.setSql("m_stock = m_stock + " + 1)
.eq(Material::getId, data.getMaterialId()));
} else if (data.getExceptionHandle() == HandleEnum.MARK_RETURN || data.getExceptionHandle() == HandleEnum.MARK_LOST) {
materialStockDetailService.update(Wrappers.<MaterialStockDetail>lambdaUpdate()
.set(MaterialStockDetail::getStatus, data.getExceptionHandle() == HandleEnum.MARK_RETURN
? StockStatusEnum.IN : StockStatusEnum.LOST)
.eq(MaterialStockDetail::getBarcode, data.getBarcode()));
materialService.update(Wrappers.<Material>lambdaUpdate()
.setSql(data.getExceptionHandle() == HandleEnum.MARK_RETURN, "m_stock = m_stock + " + 1)
.setSql(data.getExceptionHandle() == HandleEnum.MARK_LOST, "m_stock = m_stock - " + 1)
.eq(Material::getId, data.getMaterialId()));
}
});
}
}

View File

@ -14,13 +14,25 @@ import lombok.Getter;
public enum HandleEnum implements ICodeBook {
MARK_KEEP("1", "保持在库状态不变"), //SOCK_IN_BUT_SCAN_NOT_EXIST("1", "库房在库状态但是扫码不存在")
MARK_LOST("2", "标记为丢失状态"),
//SOCK_IN_BUT_SCAN_NOT_EXIST("1", "库房在库状态但是扫码不存在")
DISCARD("3", "丢弃-1"),
MARK_LOST("1", "标记为丢失"),
MARK_KEEP("2", "保持不变"),
//SOCK_OUT_BUT_SCAN_EXIST("2", "库房不是在库状态但是扫码存在"),
MARK_RETURN("3", "标记为归还"),
MARK_DISCARD("4", "标记为舍弃"),
//SOCK_NOT_EXIST_BUT_SCAN_EXIST("3", "库房不存在该条码但是扫码存在"),
MARK_NEW("5", "标记为新入库"),
;
@EnumValue
final String code;
final String description;
}