Browse Source

[fix] 库存管理

库存查询 新增 计算可用库存数方法
修改仓库的 生成/修改库存查询方法,去掉之前的逻辑,加上对以下数量的计算
历史总数量:【采购入库单】的入库数+【生产入库单】的入库数+【委外入库单】的入库数+【换货入库单】的入库数
可用库存数:=所有【库存履历增加】的数量-【锁定数】-【使用数】-【盘亏数】
固定可用库存数:=【可用库存数】-【共享可用库存数】+(【共享可用库存数】变更成【固定可用库存数】)
共享可用库存数:=【请购单发起的采购入库单】的入库数+(【固定可用库存数】变更成【共享可用库存数】)
加上对仓库库存查询详情的处理
修改 通过采购订单编号查询采购订单集合后端方法,加上对传入的purchaseCodeList进行非空判断
dev
liuxiaoxu 3 months ago
parent
commit
6c4922f212
  1. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java
  2. 35
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryService.java
  3. 48
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java
  4. 284
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java
  5. 14
      ruoyi-admin/src/main/resources/mapper/purchase/PurchaseOrderMapper.xml

2
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java

@ -610,7 +610,7 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
Integer materialAmount = requisitioningOrderDetailList.size();
String purchasePlanCode = redisCache.generateBillNo("CGJH");
//采购计划关联单号
//采购计划单号
purchasePlan.setPurchasePlanCode(purchasePlanCode);
for (BaseRequisitioningOrderChild requisitioningOrderDetail : requisitioningOrderDetailList) {

35
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryService.java

@ -9,8 +9,7 @@ import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry;
* @author 刘晓旭
* @date 2024-06-06
*/
public interface IWarehouseInventoryInquiryService
{
public interface IWarehouseInventoryInquiryService {
/**
* 查询仓库库存查询
*
@ -63,6 +62,7 @@ public interface IWarehouseInventoryInquiryService
/**
* 作废仓库库存查询
*
* @param inventoryInquiryId 仓库库存查询ID
* @return
*/
@ -70,23 +70,42 @@ public interface IWarehouseInventoryInquiryService
/**
* 恢复仓库库存查询
*
* @param inventoryInquiryId 仓库库存查询ID
* @return
*/
int restoreWarehouseInventoryInquiryById(Long inventoryInquiryId);
/*
* 根据物料号查询库存查询信息
* */
* 根据物料号查询库存查询信息
* */
public WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo);
/**
* 修改可用库存信息
* */
* 修改可用库存信息
*/
int updateAvailableStock(WarehouseInventoryInquiry warehouseInventoryInquiry);
/**
* 显示修改可用库存信息页面
* */
* 显示修改可用库存信息页面
*/
WarehouseInventoryInquiry showEditAvailableStock(Long inventoryInquiryId);
/**
* 计算可用库存数
* */
Integer calculateAvailableStockNum(String materialNo);
/**
* 计算共享可用库存数
* */
Integer calculateSharedAvailableStockNum(String materialNo);
/**
* 计算固定可用库存数
* */
Integer calculateFixedAvailableStockNum(String materialNo);
}

48
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java

@ -1,6 +1,8 @@
package com.ruoyi.warehouse.service.impl;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import com.ruoyi.common.exception.BusinessException;
@ -17,6 +19,7 @@ import com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryMapper;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry;
import com.ruoyi.warehouse.service.IWarehouseInventoryInquiryService;
import com.ruoyi.common.core.text.Convert;
import org.springframework.util.CollectionUtils;
/**
* 仓库库存查询Service业务层处理
@ -229,6 +232,7 @@ public class WarehouseInventoryInquiryServiceImpl implements IWarehouseInventory
List<PurchaseOrder> purchaseOrders = purchaseOrderMapper.selectPurchaseOrderChildListByPurchaseCodeList(purchaseCodeList);
//审核中的采购订单
List<PurchaseOrder> filterPurchaseOrders = purchaseOrders.stream().filter(item -> "0".equals(item.getAuditStatus())).collect(Collectors.toList());
@ -247,4 +251,48 @@ public class WarehouseInventoryInquiryServiceImpl implements IWarehouseInventory
warehouseInventoryInquiry.setNoOccupancyNum(noOccupancyNum);
return warehouseInventoryInquiry;
}
/**
* 计算可用库存数
* */
@Override
public Integer calculateAvailableStockNum(String materialNo){
//可用库存数=所有【库存履历增加】的数量-【锁定数】-【使用数】-【盘亏数】
WarehouseInventoryInquiry warehouseInventoryInquiry = warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
if (warehouseInventoryInquiry == null){
return 0;
}
List<WarehouseInventoryInquiryDetail> warehouseInventoryInquiryDetails = warehouseInventoryInquiryDetailMapper.selectWarehouseInventoryInquiryDetailByMaterialNo(materialNo);
List<WarehouseInventoryInquiryDetail> filterInventoryInquiryDetails = warehouseInventoryInquiryDetails.stream().filter(item -> "1".equals(item.getInventoryIncreaseDecrease())).collect(Collectors.toList());
int totalIncreaseDecreaseNum = CollectionUtils.isEmpty(filterInventoryInquiryDetails) ? 0 : filterInventoryInquiryDetails.stream().mapToInt(WarehouseInventoryInquiryDetail::getIncreaseDecreaseNum).sum();
Integer useNum = Optional.ofNullable(warehouseInventoryInquiry.getUseNum()).orElse(0);//使用数
Integer lockStockNum = Optional.ofNullable(warehouseInventoryInquiry.getLockStockNum()).orElse(0);//锁定数
Integer stockLossesNum = Optional.ofNullable(warehouseInventoryInquiry.getStockLossesNum()).orElse(0);//盘亏数
return totalIncreaseDecreaseNum - lockStockNum - useNum - stockLossesNum;
}
/**
* 计算共享可用库存数
* */
@Override
public Integer calculateSharedAvailableStockNum(String materialNo) {
return null;
}
/**
* 计算固定可用库存数
* */
@Override
public Integer calculateFixedAvailableStockNum(String materialNo) {
//【可用库存数】-【共享可用库存数】
return null;
}
}

284
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java

@ -5,6 +5,7 @@ import java.util.Date;
import java.util.List;
import java.util.Optional;
import com.ruoyi.aftersales.mapper.AfterSalesShippingDeviceMapper;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils;
@ -16,8 +17,10 @@ import com.ruoyi.erp.mapper.ErpDevelopModifyorderMapper;
import com.ruoyi.erp.mapper.ErpMaterialMapper;
import com.ruoyi.purchase.domain.PurchaseOrder;
import com.ruoyi.purchase.domain.PurchaseOrderChild;
import com.ruoyi.purchase.domain.PurchasePlan;
import com.ruoyi.purchase.mapper.PurchaseOrderChildMapper;
import com.ruoyi.purchase.mapper.PurchaseOrderMapper;
import com.ruoyi.purchase.mapper.PurchasePlanMapper;
import com.ruoyi.quality.domain.QualityOrder;
import com.ruoyi.quality.domain.QualityOrderDetail;
import com.ruoyi.quality.domain.QualityRefundsExchanges;
@ -36,6 +39,7 @@ import com.ruoyi.system.service.ISysMakeOrderService;
import com.ruoyi.system.service.ISysSalesOrderService;
import com.ruoyi.warehouse.domain.*;
import com.ruoyi.warehouse.mapper.*;
import com.ruoyi.warehouse.service.IWarehouseInventoryInquiryService;
import lombok.extern.slf4j.Slf4j;
import org.activiti.editor.language.json.converter.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,6 +95,9 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
@Autowired
private WarehouseInventoryInquiryMapper warehouseInventoryInquiryMapper;
@Autowired
private IWarehouseInventoryInquiryService warehouseInventoryInquiryService;
@Autowired
private WarehouseInventoryInquiryDetailMapper inventoryInquiryDetailMapper;
@ -101,6 +108,9 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
@Autowired
private PurchaseOrderMapper purchaseOrderMapper;
@Autowired
private PurchasePlanMapper purchasePlanMapper;
@Autowired
private ErpMaterialMapper erpMaterialMapper;
@ -112,6 +122,10 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
@Autowired
private QualityRefundsExchangesMapper exchangesMapper;
@Autowired
private AfterSalesShippingDeviceMapper afterSalesShippingDeviceMapper;
/**
* 查询仓库入库单
*
@ -542,10 +556,8 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
}
WarehouseStorageOrderDetail updateStorageOrderDetail = storageOrderDetailMapper.selectWarehouseStorageOrderDetailById(storageOrderDetail.getWarehouseStorageDetailId());
int inventoryInquiryResult = createWarehouseInventoryInquiry(updateStorageOrderDetail);
if (inventoryInquiryResult <= 0){
throw new BusinessException("更新/新增库存查询失败,未影响任何行");
}
createWarehouseInventoryInquiry(updateStorageOrderDetail);
}
//更新入库单的数据
@ -658,25 +670,23 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
throw new BusinessException("更新仓库入库单详情失败,未影响任何行");
}
WarehouseStorageOrderDetail storageOrderDetail = storageOrderDetailMapper.selectWarehouseStorageOrderDetailById(warehouseStorageOrderDetail.getWarehouseStorageDetailId());
int inventoryInquiryResult = createWarehouseInventoryInquiry(storageOrderDetail);
if (inventoryInquiryResult <= 0){
throw new BusinessException("更新/新增库存查询失败,未影响任何行");
}
}
createWarehouseInventoryInquiry(storageOrderDetail);
//更新生产单数据
int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder,oldWarehouseStorageOrder, warehouseStorageOrderDetailList);
if (updateMakeOrderResult <= 0){
throw new BusinessException("更新生产订单失败,未影响任何行");
}
//更新开发修改单数据
String relatedOrderCode = warehouseStorageOrder.getRelatedOrderCode();
ErpDevelopModifyorder erpDevelopModifyorder = developModifyorderMapper.selectErpDevelopModifyorderByCode(relatedOrderCode);
if (erpDevelopModifyorder != null){
erpDevelopModifyorder.setPurchaseStorageStatus("8");
developModifyorderMapper.updateErpDevelopModifyorder(erpDevelopModifyorder);
}
// //更新生产单数据
// int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder,oldWarehouseStorageOrder, warehouseStorageOrderDetailList);
// if (updateMakeOrderResult <= 0){
// throw new BusinessException("更新生产订单失败,未影响任何行");
// }
//
// //更新开发修改单数据
// String relatedOrderCode = warehouseStorageOrder.getRelatedOrderCode();
// ErpDevelopModifyorder erpDevelopModifyorder = developModifyorderMapper.selectErpDevelopModifyorderByCode(relatedOrderCode);
// if (erpDevelopModifyorder != null){
// erpDevelopModifyorder.setPurchaseStorageStatus("8");
// developModifyorderMapper.updateErpDevelopModifyorder(erpDevelopModifyorder);
// }
if (warehouseStorageOrder.getStorageNum().equals(oldWarehouseStorageOrder.getTemporaryQualifiedNum())){
@ -708,29 +718,121 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
}
// 生成/修改库存查询
public int createWarehouseInventoryInquiry(WarehouseStorageOrderDetail warehouseStorageOrderDetail){
public void createWarehouseInventoryInquiry(WarehouseStorageOrderDetail warehouseStorageOrderDetail){
String materialNo = warehouseStorageOrderDetail.getMaterialNo();
String correlationCode = warehouseStorageOrderDetail.getRelatedOrderCode();
String storageCode = warehouseStorageOrderDetail.getWarehouseStorageCode();
WarehouseStorageOrder warehouseStorageOrder = warehouseStorageOrderMapper.selectWarehouseStorageOrderByCode(storageCode);
String warehouseStorageType = warehouseStorageOrder.getWarehouseStorageType();
if(warehouseStorageType.equals("0")) {
// 新增采购入库库存历史记录
// PurchaseOrder purchaseOrder = purchaseOrderMapper.selectPurchaseOrderByOrderCode()
List<PurchaseOrderChild> purchaseOrderChild = purchaseOrderChildMapper.selectPurchaseOrderChildByOrderCode(correlationCode);
for (PurchaseOrderChild child : purchaseOrderChild) {
if(child.getMaterialNo().equals(materialNo)){
int storageNum = warehouseStorageOrderDetail.getStorageNum();
WarehouseInventoryInquiryDetail inquiryDetail = new WarehouseInventoryInquiryDetail();
inquiryDetail = generateInquiryDetailByPurchaseChild(child,storageNum);
// inquiryDetail.setInventoryHistoricalType("0");
// if (correlationCode.startsWith("QG")) {
//// 有无归属分类
// }
inventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(inquiryDetail);
Integer storageNum = warehouseStorageOrderDetail.getStorageNum();
if("0".equals(warehouseStorageType)) {
// 新增采购入库库存历史记录
String purchasePlanCode = purchaseOrderMapper.selectPurchasePlanCodeByCode(correlationCode);
PurchasePlan purchasePlan = purchasePlanMapper.selectPurchasePlanByPlanCode(purchasePlanCode);
if ("2".equals(purchasePlan.getPurchasePlanType())){ //来源为请购单
List<PurchaseOrderChild> purchaseOrderChildList = purchaseOrderChildMapper.selectPurchaseOrderChildByOrderCode(correlationCode);
for (PurchaseOrderChild purchaseOrderChild : purchaseOrderChildList) {
if(purchaseOrderChild.getMaterialNo().equals(materialNo)){
WarehouseInventoryInquiry oldWarehouseInventoryInquiry = warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
Integer historicalTotal = oldWarehouseInventoryInquiry.getHistoricalTotal();
historicalTotal += storageNum;
oldWarehouseInventoryInquiry.setHistoricalTotal(historicalTotal);
Integer availableStockNum = oldWarehouseInventoryInquiry.getAvailableStockNum();
if (availableStockNum == null || availableStockNum == 0){
availableStockNum = storageNum;
}else {
availableStockNum += storageNum;
}
oldWarehouseInventoryInquiry.setAvailableStockNum(availableStockNum);
// Integer oldAvailableStockNum = warehouseInventoryInquiryService.calculateAvailableStockNum(materialNo);
// oldWarehouseInventoryInquiry.setAvailableStockNum(oldAvailableStockNum + storageNum); //加上本次入库的数量
Integer sharedAvailableStockNum = oldWarehouseInventoryInquiry.getSharedAvailableStockNum();//共享可用库存
if (sharedAvailableStockNum == null || sharedAvailableStockNum == 0){
sharedAvailableStockNum = storageNum;
}else {
sharedAvailableStockNum += storageNum;
}
oldWarehouseInventoryInquiry.setSharedAvailableStockNum(sharedAvailableStockNum);
Integer oldAvailableStockNum = oldWarehouseInventoryInquiry.getAvailableStockNum();
oldWarehouseInventoryInquiry.setFixedAvailableStockNum(oldAvailableStockNum - sharedAvailableStockNum); //固定可用库存
int updateResult = warehouseInventoryInquiryService.updateWarehouseInventoryInquiry(oldWarehouseInventoryInquiry);
if (updateResult <= 0){
throw new BusinessException("更新库存查询记录失败!");
}
WarehouseInventoryInquiryDetail inquiryDetail = new WarehouseInventoryInquiryDetail();
inquiryDetail.setMaterialNo(materialNo);
inquiryDetail.setInquiryWarehouseType("0");//采购入库
inquiryDetail.setInventoryHistoricalTime(DateUtils.getNowDate());
inquiryDetail.setInquiryOrderType("0");
inquiryDetail.setInquiryBusinessType("0");
inquiryDetail.setCorrelationCode(storageCode);
inquiryDetail.setIncreaseDecreaseNum(warehouseStorageOrderDetail.getStorageNum());
inquiryDetail.setInventoryIncreaseDecrease("1");
int insertDetailResult = inventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(inquiryDetail);
if (insertDetailResult <= 0){
throw new BusinessException("新增库存履历失败!");
}
}
}
}else if ("1".equals(purchasePlan.getPurchasePlanType())){ //生产订单
List<PurchaseOrderChild> purchaseOrderChildList = purchaseOrderChildMapper.selectPurchaseOrderChildByOrderCode(correlationCode);
for (PurchaseOrderChild purchaseOrderChild : purchaseOrderChildList) {
if (purchaseOrderChild.getMaterialNo().equals(materialNo)) {
WarehouseInventoryInquiry oldWarehouseInventoryInquiry = warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
Integer historicalTotal = oldWarehouseInventoryInquiry.getHistoricalTotal();
historicalTotal += storageNum;
oldWarehouseInventoryInquiry.setHistoricalTotal(historicalTotal);
Integer availableStockNum = oldWarehouseInventoryInquiry.getAvailableStockNum();
if (availableStockNum == null || availableStockNum == 0){
availableStockNum = storageNum;
}else {
availableStockNum += storageNum;
}
oldWarehouseInventoryInquiry.setAvailableStockNum(availableStockNum);
// Integer oldAvailableStockNum = warehouseInventoryInquiryService.calculateAvailableStockNum(materialNo);
// oldWarehouseInventoryInquiry.setAvailableStockNum(oldAvailableStockNum + storageNum); //加上本次入库的数量
Integer sharedAvailableStockNum = oldWarehouseInventoryInquiry.getSharedAvailableStockNum();//共享可用库存
if (sharedAvailableStockNum == null || sharedAvailableStockNum == 0){
sharedAvailableStockNum = storageNum;
}else {
sharedAvailableStockNum += storageNum;
}
oldWarehouseInventoryInquiry.setSharedAvailableStockNum(sharedAvailableStockNum);
Integer oldAvailableStockNum = oldWarehouseInventoryInquiry.getAvailableStockNum();
oldWarehouseInventoryInquiry.setFixedAvailableStockNum(oldAvailableStockNum - sharedAvailableStockNum); //固定可用库存
int updateResult = warehouseInventoryInquiryService.insertWarehouseInventoryInquiry(oldWarehouseInventoryInquiry);
if (updateResult <= 0) {
throw new BusinessException("更新库存查询记录失败!");
}
WarehouseInventoryInquiryDetail inquiryDetail = new WarehouseInventoryInquiryDetail();
inquiryDetail.setMaterialNo(materialNo);
inquiryDetail.setInquiryWarehouseType("0");//采购入库
inquiryDetail.setInventoryHistoricalTime(DateUtils.getNowDate());
inquiryDetail.setInquiryOrderType("0");
inquiryDetail.setInquiryBusinessType("0");
inquiryDetail.setCorrelationCode(storageCode);
inquiryDetail.setIncreaseDecreaseNum(warehouseStorageOrderDetail.getStorageNum());
inquiryDetail.setInventoryIncreaseDecrease("1");
int insertDetailResult = inventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(inquiryDetail);
if (insertDetailResult <= 0) {
throw new BusinessException("新增库存履历失败!");
}
}
}
}
}else if(warehouseStorageType.equals("5")){//新增生产入库库存历史记录
WarehouseInventoryInquiryDetail inquiryDetail = new WarehouseInventoryInquiryDetail();
inquiryDetail = createMakeInOrderInquiryDetail(warehouseStorageOrderDetail);
@ -751,48 +853,48 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
scrapSum += scrapSum;
}
}
// 存在库存查询记录,更新可用库存数
if(warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo)!=null){
WarehouseInventoryInquiry inventoryInquiry = warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
// 增加可用库存数
Integer storage = warehouseStorageOrderDetail.getStorageNum();
Integer storagenum = storage;
Integer avaliableStorage = inventoryInquiry.getAvailableStockNum();
avaliableStorage += storagenum;
inventoryInquiry.setAvailableStockNum(avaliableStorage);
inventoryInquiry.setReportDamageNum(scrapSum);
// 设置历史总数
Integer historicalTotal = inventoryInquiry.getHistoricalTotal();
historicalTotal += storagenum;
inventoryInquiry.setHistoricalTotal(historicalTotal);
inventoryInquiry.setUpdateBy(ShiroUtils.getLoginName());
inventoryInquiry.setUpdateTime(DateUtils.getNowDate());
return warehouseInventoryInquiryMapper.updateWarehouseInventoryInquiry(inventoryInquiry);
}else{
WarehouseInventoryInquiry inventoryInquiry = new WarehouseInventoryInquiry();
inventoryInquiry.setMaterialNo(materialNo);
inventoryInquiry.setMaterialName(warehouseStorageOrderDetail.getMaterialName());
inventoryInquiry.setMaterialPhotourl(warehouseStorageOrderDetail.getMaterialPhotourl());
inventoryInquiry.setMaterialBrand(warehouseStorageOrderDetail.getMaterialBrand());
inventoryInquiry.setMaterialDescribe(warehouseStorageOrderDetail.getMaterialDescribe());
inventoryInquiry.setMaterialUnit(warehouseStorageOrderDetail.getMaterialUnit());
inventoryInquiry.setMaterialType(warehouseStorageOrderDetail.getMaterialType());
inventoryInquiry.setMaterialProcessMethod(warehouseStorageOrderDetail.getMaterialProcessMethod());
Integer storage = warehouseStorageOrderDetail.getStorageNum();
Integer storagenum = storage;
// 设置历史总数
inventoryInquiry.setHistoricalTotal(storagenum);
inventoryInquiry.setAvailableStockNum(storagenum);
inventoryInquiry.setReportDamageNum(scrapSum);
ErpMaterial material = erpMaterialMapper.selectErpMaterialByMaterialNo(materialNo);
inventoryInquiry.setMaterialUseStatus(material.getUseStatus());
inventoryInquiry.setCreateBy(ShiroUtils.getLoginName());
inventoryInquiry.setCreateTime(DateUtils.getNowDate());
inventoryInquiry.setUpdateBy(ShiroUtils.getLoginName());
inventoryInquiry.setUpdateTime(DateUtils.getNowDate());
return warehouseInventoryInquiryMapper.insertWarehouseInventoryInquiry(inventoryInquiry);
}
//// 存在库存查询记录,更新可用库存数
// if(warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo)!=null){
// WarehouseInventoryInquiry inventoryInquiry = warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
//// 增加可用库存数
// Integer storage = warehouseStorageOrderDetail.getStorageNum();
// Integer storagenum = storage;
// Integer avaliableStorage = inventoryInquiry.getAvailableStockNum();
// avaliableStorage += storagenum;
// inventoryInquiry.setAvailableStockNum(avaliableStorage);
// inventoryInquiry.setReportDamageNum(scrapSum);
//// 设置历史总数
// Integer historicalTotal = inventoryInquiry.getHistoricalTotal();
// historicalTotal += storagenum;
// inventoryInquiry.setHistoricalTotal(historicalTotal);
// inventoryInquiry.setUpdateBy(ShiroUtils.getLoginName());
// inventoryInquiry.setUpdateTime(DateUtils.getNowDate());
// return warehouseInventoryInquiryMapper.updateWarehouseInventoryInquiry(inventoryInquiry);
// }else{
// WarehouseInventoryInquiry inventoryInquiry = new WarehouseInventoryInquiry();
// inventoryInquiry.setMaterialNo(materialNo);
// inventoryInquiry.setMaterialName(warehouseStorageOrderDetail.getMaterialName());
// inventoryInquiry.setMaterialPhotourl(warehouseStorageOrderDetail.getMaterialPhotourl());
// inventoryInquiry.setMaterialBrand(warehouseStorageOrderDetail.getMaterialBrand());
// inventoryInquiry.setMaterialDescribe(warehouseStorageOrderDetail.getMaterialDescribe());
// inventoryInquiry.setMaterialUnit(warehouseStorageOrderDetail.getMaterialUnit());
// inventoryInquiry.setMaterialType(warehouseStorageOrderDetail.getMaterialType());
// inventoryInquiry.setMaterialProcessMethod(warehouseStorageOrderDetail.getMaterialProcessMethod());
// Integer storage = warehouseStorageOrderDetail.getStorageNum();
// Integer storagenum = storage;
// // 设置历史总数
// inventoryInquiry.setHistoricalTotal(storagenum);
// inventoryInquiry.setAvailableStockNum(storagenum);
// inventoryInquiry.setReportDamageNum(scrapSum);
//
// ErpMaterial material = erpMaterialMapper.selectErpMaterialByMaterialNo(materialNo);
// inventoryInquiry.setMaterialUseStatus(material.getUseStatus());
// inventoryInquiry.setCreateBy(ShiroUtils.getLoginName());
// inventoryInquiry.setCreateTime(DateUtils.getNowDate());
// inventoryInquiry.setUpdateBy(ShiroUtils.getLoginName());
// inventoryInquiry.setUpdateTime(DateUtils.getNowDate());
// return warehouseInventoryInquiryMapper.insertWarehouseInventoryInquiry(inventoryInquiry);
// }
}
// 生成采购订单库存历史记录
@ -959,18 +1061,16 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
throw new BusinessException("更新仓库入库单详情失败,未影响任何行");
}
WarehouseStorageOrderDetail storageOrderDetail = storageOrderDetailMapper.selectWarehouseStorageOrderDetailById(warehouseStorageOrderDetail.getWarehouseStorageDetailId());
int inventoryInquiryResult = createWarehouseInventoryInquiry(storageOrderDetail);
if (inventoryInquiryResult <= 0){
throw new BusinessException("更新/新增库存查询失败,未影响任何行");
}
}
createWarehouseInventoryInquiry(storageOrderDetail);
//更新生产单数据
int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder,oldWarehouseStorageOrder, warehouseStorageOrderDetailList);
if (updateMakeOrderResult <= 0){
throw new BusinessException("更新生产订单失败,未影响任何行");
}
// //更新生产单数据
// int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder,oldWarehouseStorageOrder, warehouseStorageOrderDetailList);
// if (updateMakeOrderResult <= 0){
// throw new BusinessException("更新生产订单失败,未影响任何行");
// }
//更新开发修改单数据
// String relatedOrderCode = warehouseStorageOrder.getRelatedOrderCode();
// ErpDevelopModifyorder erpDevelopModifyorder = developModifyorderMapper.selectErpDevelopModifyorderByCode(relatedOrderCode);
@ -1090,10 +1190,8 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
throw new BusinessException("更新仓库入库单详情失败,未影响任何行");
}else{
WarehouseStorageOrderDetail storageOrderDetail = storageOrderDetailMapper.selectWarehouseStorageOrderDetailById(warehouseStorageOrderDetail.getWarehouseStorageDetailId());
int inventoryInquiryResult = createWarehouseInventoryInquiry(storageOrderDetail);
if (inventoryInquiryResult <= 0){
throw new BusinessException("更新/新增库存查询失败,未影响任何行");
}
createWarehouseInventoryInquiry(storageOrderDetail);
}
}
//更新入库单的数据
@ -1423,10 +1521,8 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
}
//更新库存查询
WarehouseStorageOrderDetail storageOrderInquiryDetail = storageOrderDetailMapper.selectWarehouseStorageOrderDetailById(storageOrderDetail.getWarehouseStorageDetailId());
int inquiryResult = createWarehouseInventoryInquiry(storageOrderInquiryDetail);
if (inquiryResult <= 0){
throw new BusinessException("更新仓库库存查询失败,未影响任何行");
}
createWarehouseInventoryInquiry(storageOrderInquiryDetail);
}
//更新销售订单子表的数据

14
ruoyi-admin/src/main/resources/mapper/purchase/PurchaseOrderMapper.xml

@ -93,12 +93,16 @@
WHERE purchase_order_code = #{purchaseOrderCode}
</select>
<select id="selectPurchaseOrderChildListByPurchaseCodeList" parameterType="String" resultMap="PurchaseOrderResult">
<select id="selectPurchaseOrderChildListByPurchaseCodeList" parameterType="list" resultMap="PurchaseOrderResult">
<include refid="selectPurchaseOrderVo"/>
where purchase_order_code in
<foreach collection="list" item="purchaseOrderCode" open="(" separator="," close=")">
#{purchaseOrderCode}
</foreach>
<where>
<if test="list != null and list.size > 0">
purchase_order_code in
<foreach collection="list" item="purchaseOrderCode" open="(" separator="," close=")">
#{purchaseOrderCode}
</foreach>
</if>
</where>
</select>

Loading…
Cancel
Save