pda盘点确认

This commit is contained in:
liuhanqing
2025-06-19 17:47:52 +08:00
parent b9fc02c01b
commit afb022d365
29 changed files with 1022 additions and 100 deletions

View File

@@ -64,4 +64,11 @@ public interface ICheckStockinService
public int deleteCheckStockinByStockGuid(String stockGuid);
String saveBill(CheckStockVo outStockoutVo);
/**
* 盘点自动分配
* @param checkStockin
* @return
*/
AjaxResult autoAllocation(CheckStockin checkStockin);
}

View File

@@ -3,7 +3,9 @@ package com.ruoyi.check.stockcheck.service.impl;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
@@ -22,6 +24,8 @@ import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.out.outStockout.domain.OutStockout;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
@@ -47,6 +51,8 @@ public class CheckStockinServiceImpl implements ICheckStockinService
private ICheckStockinDetailService checkStockinDetailService;
@Autowired
private IBasProductService productService;
@Autowired
private IBasStockService basStockService;
/**
* 查询盘库单据主信息
@@ -165,6 +171,7 @@ public class CheckStockinServiceImpl implements ICheckStockinService
@Transactional(rollbackFor = Exception.class)
public String saveBill(CheckStockVo checkStockVo) {
CheckStockin checkStockin = checkStockVo.getCheckStockin();
List<CheckStockinDetail> detailList = checkStockVo.getDetailList();
String stockCheckId = basJobIdService.getJobId("PDD");
checkStockin.setStockCheckId(stockCheckId);
@@ -175,18 +182,53 @@ public class CheckStockinServiceImpl implements ICheckStockinService
checkStockin.setStatus("1");
checkStockin.setStockSource("0");
checkStockin.setCheckType(checkStockin.getCheckType());
for (int i = 0; i < detailList.size(); i++) {
CheckStockinDetail checkStockinDetail = detailList.get(i);
checkStockinDetail.setStockCheckDetailId(stockCheckId + "-" + (i + 1));
checkStockinDetail.setStockCheckId(stockCheckId);
BasProduct basProduct = productService.selectBasProductByProductId(checkStockinDetail.getProductId());
checkStockinDetail.setProductGuid(basProduct.getProductGuid());
checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid());
checkStockinDetail.setScanNum("0");
checkStockinDetail.setAssignNum("0");
checkStockinDetailService.insertCheckStockinDetail(checkStockinDetail);
if ("1".equals(checkStockin.getCheckType())){
//物料盘点
for (int i = 0; i < detailList.size(); i++) {
CheckStockinDetail checkStockinDetail = detailList.get(i);
checkStockinDetail.setStockCheckDetailId(stockCheckId + "-" + (i + 1));
checkStockinDetail.setStockCheckId(stockCheckId);
BasProduct basProduct = productService.selectBasProductByProductId(checkStockinDetail.getProductId());
checkStockinDetail.setProductGuid(basProduct.getProductGuid());
checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid());
checkStockinDetail.setScanNum("0");
checkStockinDetail.setAssignNum("0");
checkStockinDetailService.insertCheckStockinDetail(checkStockinDetail);
}
}else if ("2".equals(checkStockin.getCheckType())){
//货位盘点
for (int i = 0; i < detailList.size(); i++) {
BasStock param = new BasStock();
param.setCargoSpaceId(detailList.get(i).getSpare1());
List<BasStock> basStocks = basStockService.selectBasStockList(param);
Integer quantity = 0;
for (BasStock basStock : basStocks) {
quantity += Convert.toInt(basStock.getQuantity());
}
CheckStockinDetail checkStockinDetail = detailList.get(i);
checkStockinDetail.setStockCheckDetailId(stockCheckId + "-" + (i + 1));
checkStockinDetail.setStockCheckId(stockCheckId);
checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid());
checkStockinDetail.setQuantity(quantity.toString());
checkStockinDetail.setScanNum("0");
checkStockinDetail.setAssignNum("0");
checkStockinDetailService.insertCheckStockinDetail(checkStockinDetail);
}
}
checkStockinMapper.insertCheckStockin(checkStockin);
return stockCheckId;
}
@Override
public AjaxResult autoAllocation(CheckStockin checkStockin) {
HashMap<String, String> map = new HashMap<>();
map.put("v_stock_check_id", checkStockin.getStockCheckId());
checkStockinMapper.autoAllot(map);
if ("10".equals(map.get("v_result"))){
return AjaxResult.success("自动分配成功");
}else {
return AjaxResult.warn(map.get("v_resultString"));
}
}
}