Browse Source

[feat]仓库管理:

库存查询详情
新增库存查询详情实体类
新增库存查询详情Service
新增库存查询详情ServiceImpl
新增库存查询查询mapper
新增库存历史按钮
新增点击库存历史按钮只能选择一条数据
新增库存历史页面inventoryHistory.html
新增库存历史后端查询页面接口
新增库存历史后端修改保存接口
新增查询仓库库存历史详情列表后端接口
新增根据物料号查询库存查询详情接口
dev
liuxiaoxu 5 months ago
parent
commit
877f0f4171
  1. 46
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryInquiryController.java
  2. 421
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryInquiryDetail.java
  3. 82
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryInquiryDetailMapper.java
  4. 5
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryInquiryMapper.java
  5. 80
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryDetailService.java
  6. 5
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryService.java
  7. 135
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryDetailServiceImpl.java
  8. 9
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java
  9. 198
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryDetailMapper.xml
  10. 8
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryMapper.xml
  11. 145
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryHistory.html
  12. 17
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html

46
ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryInquiryController.java

@ -1,6 +1,10 @@
package com.ruoyi.warehouse.controller;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiryDetail;
import com.ruoyi.warehouse.domain.WarehouseInventoryReportDamage;
import com.ruoyi.warehouse.service.IWarehouseInventoryInquiryDetailService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@ -34,6 +38,9 @@ public class WarehouseInventoryInquiryController extends BaseController
@Autowired
private IWarehouseInventoryInquiryService warehouseInventoryInquiryService;
@Autowired
private IWarehouseInventoryInquiryDetailService inventoryInquiryDetailService;
@RequiresPermissions("warehouse:inventoryInquiry:view")
@GetMapping()
public String inventoryInquiry()
@ -113,39 +120,38 @@ public class WarehouseInventoryInquiryController extends BaseController
}
/**
* 删除仓库库存查询
* 修改仓库库存历史
*/
@RequiresPermissions("warehouse:inventoryInquiry:remove")
@Log(title = "仓库库存查询", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
@GetMapping("/inventoryHistory/{materialNo}")
public String inventoryHistory(@PathVariable("materialNo") String materialNo, ModelMap mmap)
{
return toAjax(warehouseInventoryInquiryService.deleteWarehouseInventoryInquiryByIds(ids));
WarehouseInventoryInquiry warehouseInventoryInquiry = warehouseInventoryInquiryService.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
mmap.put("warehouseInventoryInquiry", warehouseInventoryInquiry);
return prefix + "/inventoryHistory";
}
/**
* 作废仓库库存查询
* 修改保存仓库库存历史
*/
@RequiresPermissions("warehouse:inventoryInquiry:cancel")
@Log(title = "仓库库存查询", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@RequiresPermissions("warehouse:inventoryInquiry:inventoryHistory")
@Log(title = "仓库库存查询", businessType = BusinessType.UPDATE)
@PostMapping("/inventoryHistory")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(warehouseInventoryInquiryService.cancelWarehouseInventoryInquiryById(id));
public AjaxResult inventoryHistorySave(WarehouseInventoryInquiry warehouseInventoryInquiry)
{
return toAjax(warehouseInventoryInquiryService.updateWarehouseInventoryInquiry(warehouseInventoryInquiry));
}
/**
* 恢复仓库库存查询
* 仓库库存历史详情列表
*/
@RequiresPermissions("warehouse:inventoryInquiry:restore")
@Log(title = "仓库库存查询", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@PostMapping("/getMaterialInventoryHistoricalList")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
public TableDataInfo getMaterialInventoryHistoricalList(WarehouseInventoryInquiry warehouseInventoryInquiry)
{
return toAjax(warehouseInventoryInquiryService.restoreWarehouseInventoryInquiryById(id));
startPage();
List<WarehouseInventoryInquiryDetail> list = inventoryInquiryDetailService.selectWarehouseInventoryInquiryDetailByMaterialNo(warehouseInventoryInquiry.getMaterialNo());
return getDataTable(list);
}
}

421
ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryInquiryDetail.java

@ -0,0 +1,421 @@
package com.ruoyi.warehouse.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 仓库库存查询详情对象 warehouse_inventory_inquiry_detail
*
* @author 刘晓旭
* @date 2024-06-06
*/
public class WarehouseInventoryInquiryDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 库存查询详情id */
private Long inventoryInquiryDetailId;
/** 料号 */
private String materialNo;
/** 物料名称 */
private String materialName;
/** 物料类型 */
private String materialType;
/** 物料图片地址 */
private String materialPhotourl;
/** 物料品牌 */
private String materialBrand;
/** 物料单位 */
private String materialUnit;
/** 物料描述 */
private String materialDescribe;
/** 物料加工方式 */
private String materialProcessMethod;
/** 物料型号 */
private String materialModel;
/** 物料规格 */
private String materialSpecification;
/** 物料历史总数量 */
private Integer historicalTotal;
/** 可用库存数 */
private Integer availableStockNum;
/** 物料归属可用库存数 */
private Integer attributionAvailableStockNum;
/** 物料无归属可用库存数 */
private Integer noattributionAvailableStockNum;
/** 物料使用数 */
private Integer useNum;
/** 物料报损数 */
private Integer reportDamageNum;
/** 物料使用状态 */
private String materialUseStatus;
/** 库存归属单号 */
@Excel(name = "库存归属单号")
private String inventoryAttributionCode;
/** 库存使用单号 */
@Excel(name = "库存使用单号")
private String inventoryUseCode;
/** 库存历史时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "库存历史时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date inventoryHistoricalTime;
/** 库存历史类型 */
@Excel(name = "库存历史类型")
private String inventoryHistoricalType;
/** 库存增减 */
@Excel(name = "库存增减")
private String inventoryIncreaseDecrease;
/** 库存历史数量 */
@Excel(name = "库存历史数量")
private Integer inventoryHistoricalNum;
/** 不含税采购总价 */
@Excel(name = "不含税采购总价")
private BigDecimal purchasePriceExcludingTax;
/** 含税总价 */
@Excel(name = "含税总价")
private BigDecimal purchasePriceIncludesTax;
/** 采购单号 */
@Excel(name = "采购单号")
private String purchaseOrderCode;
/** 供应商ID */
@Excel(name = "供应商ID")
private String supplierCode;
/** 供应商名称 */
@Excel(name = "供应商名称")
private String supplierName;
public void setInventoryInquiryDetailId(Long inventoryInquiryDetailId)
{
this.inventoryInquiryDetailId = inventoryInquiryDetailId;
}
public Long getInventoryInquiryDetailId()
{
return inventoryInquiryDetailId;
}
public void setMaterialNo(String materialNo)
{
this.materialNo = materialNo;
}
public String getMaterialNo()
{
return materialNo;
}
public void setMaterialName(String materialName)
{
this.materialName = materialName;
}
public String getMaterialName()
{
return materialName;
}
public void setMaterialType(String materialType)
{
this.materialType = materialType;
}
public String getMaterialType()
{
return materialType;
}
public void setMaterialPhotourl(String materialPhotourl)
{
this.materialPhotourl = materialPhotourl;
}
public String getMaterialPhotourl()
{
return materialPhotourl;
}
public void setMaterialBrand(String materialBrand)
{
this.materialBrand = materialBrand;
}
public String getMaterialBrand()
{
return materialBrand;
}
public void setMaterialUnit(String materialUnit)
{
this.materialUnit = materialUnit;
}
public String getMaterialUnit()
{
return materialUnit;
}
public void setMaterialDescribe(String materialDescribe)
{
this.materialDescribe = materialDescribe;
}
public String getMaterialDescribe()
{
return materialDescribe;
}
public void setMaterialProcessMethod(String materialProcessMethod)
{
this.materialProcessMethod = materialProcessMethod;
}
public String getMaterialProcessMethod()
{
return materialProcessMethod;
}
public void setMaterialModel(String materialModel)
{
this.materialModel = materialModel;
}
public String getMaterialModel()
{
return materialModel;
}
public void setMaterialSpecification(String materialSpecification)
{
this.materialSpecification = materialSpecification;
}
public String getMaterialSpecification()
{
return materialSpecification;
}
public void setHistoricalTotal(Integer historicalTotal)
{
this.historicalTotal = historicalTotal;
}
public Integer getHistoricalTotal()
{
return historicalTotal;
}
public void setAvailableStockNum(Integer availableStockNum)
{
this.availableStockNum = availableStockNum;
}
public Integer getAvailableStockNum()
{
return availableStockNum;
}
public void setAttributionAvailableStockNum(Integer attributionAvailableStockNum)
{
this.attributionAvailableStockNum = attributionAvailableStockNum;
}
public Integer getAttributionAvailableStockNum()
{
return attributionAvailableStockNum;
}
public void setNoattributionAvailableStockNum(Integer noattributionAvailableStockNum)
{
this.noattributionAvailableStockNum = noattributionAvailableStockNum;
}
public Integer getNoattributionAvailableStockNum()
{
return noattributionAvailableStockNum;
}
public void setUseNum(Integer useNum)
{
this.useNum = useNum;
}
public Integer getUseNum()
{
return useNum;
}
public void setReportDamageNum(Integer reportDamageNum)
{
this.reportDamageNum = reportDamageNum;
}
public Integer getReportDamageNum()
{
return reportDamageNum;
}
public void setMaterialUseStatus(String materialUseStatus)
{
this.materialUseStatus = materialUseStatus;
}
public String getMaterialUseStatus()
{
return materialUseStatus;
}
public void setInventoryAttributionCode(String inventoryAttributionCode)
{
this.inventoryAttributionCode = inventoryAttributionCode;
}
public String getInventoryAttributionCode()
{
return inventoryAttributionCode;
}
public void setInventoryUseCode(String inventoryUseCode)
{
this.inventoryUseCode = inventoryUseCode;
}
public String getInventoryUseCode()
{
return inventoryUseCode;
}
public void setInventoryHistoricalTime(Date inventoryHistoricalTime)
{
this.inventoryHistoricalTime = inventoryHistoricalTime;
}
public Date getInventoryHistoricalTime()
{
return inventoryHistoricalTime;
}
public void setInventoryHistoricalType(String inventoryHistoricalType)
{
this.inventoryHistoricalType = inventoryHistoricalType;
}
public String getInventoryHistoricalType()
{
return inventoryHistoricalType;
}
public void setInventoryIncreaseDecrease(String inventoryIncreaseDecrease)
{
this.inventoryIncreaseDecrease = inventoryIncreaseDecrease;
}
public String getInventoryIncreaseDecrease()
{
return inventoryIncreaseDecrease;
}
public void setInventoryHistoricalNum(Integer inventoryHistoricalNum)
{
this.inventoryHistoricalNum = inventoryHistoricalNum;
}
public Integer getInventoryHistoricalNum()
{
return inventoryHistoricalNum;
}
public void setPurchasePriceExcludingTax(BigDecimal purchasePriceExcludingTax)
{
this.purchasePriceExcludingTax = purchasePriceExcludingTax;
}
public BigDecimal getPurchasePriceExcludingTax()
{
return purchasePriceExcludingTax;
}
public void setPurchasePriceIncludesTax(BigDecimal purchasePriceIncludesTax)
{
this.purchasePriceIncludesTax = purchasePriceIncludesTax;
}
public BigDecimal getPurchasePriceIncludesTax()
{
return purchasePriceIncludesTax;
}
public void setPurchaseOrderCode(String purchaseOrderCode)
{
this.purchaseOrderCode = purchaseOrderCode;
}
public String getPurchaseOrderCode()
{
return purchaseOrderCode;
}
public void setSupplierCode(String supplierCode)
{
this.supplierCode = supplierCode;
}
public String getSupplierCode()
{
return supplierCode;
}
public void setSupplierName(String supplierName)
{
this.supplierName = supplierName;
}
public String getSupplierName()
{
return supplierName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("inventoryInquiryDetailId", getInventoryInquiryDetailId())
.append("materialNo", getMaterialNo())
.append("materialName", getMaterialName())
.append("materialType", getMaterialType())
.append("materialPhotourl", getMaterialPhotourl())
.append("materialBrand", getMaterialBrand())
.append("materialUnit", getMaterialUnit())
.append("materialDescribe", getMaterialDescribe())
.append("materialProcessMethod", getMaterialProcessMethod())
.append("materialModel", getMaterialModel())
.append("materialSpecification", getMaterialSpecification())
.append("historicalTotal", getHistoricalTotal())
.append("availableStockNum", getAvailableStockNum())
.append("attributionAvailableStockNum", getAttributionAvailableStockNum())
.append("noattributionAvailableStockNum", getNoattributionAvailableStockNum())
.append("useNum", getUseNum())
.append("reportDamageNum", getReportDamageNum())
.append("materialUseStatus", getMaterialUseStatus())
.append("inventoryAttributionCode", getInventoryAttributionCode())
.append("inventoryUseCode", getInventoryUseCode())
.append("inventoryHistoricalTime", getInventoryHistoricalTime())
.append("inventoryHistoricalType", getInventoryHistoricalType())
.append("inventoryIncreaseDecrease", getInventoryIncreaseDecrease())
.append("inventoryHistoricalNum", getInventoryHistoricalNum())
.append("purchasePriceExcludingTax", getPurchasePriceExcludingTax())
.append("purchasePriceIncludesTax", getPurchasePriceIncludesTax())
.append("purchaseOrderCode", getPurchaseOrderCode())
.append("supplierCode", getSupplierCode())
.append("supplierName", getSupplierName())
.append("remark", getRemark())
.append("createTime", getCreateTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

82
ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryInquiryDetailMapper.java

@ -0,0 +1,82 @@
package com.ruoyi.warehouse.mapper;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiryDetail;
/**
* 仓库库存查询详情Mapper接口
*
* @author 刘晓旭
* @date 2024-06-06
*/
public interface WarehouseInventoryInquiryDetailMapper
{
/**
* 查询仓库库存查询详情
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 仓库库存查询详情
*/
public WarehouseInventoryInquiryDetail selectWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/**
* 查询仓库库存查询详情列表
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 仓库库存查询详情集合
*/
public List<WarehouseInventoryInquiryDetail> selectWarehouseInventoryInquiryDetailList(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail);
/**
* 新增仓库库存查询详情
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 结果
*/
public int insertWarehouseInventoryInquiryDetail(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail);
/**
* 修改仓库库存查询详情
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 结果
*/
public int updateWarehouseInventoryInquiryDetail(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail);
/**
* 删除仓库库存查询详情
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 结果
*/
public int deleteWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/**
* 批量删除仓库库存查询详情
*
* @param inventoryInquiryDetailIds 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseInventoryInquiryDetailByIds(String[] inventoryInquiryDetailIds);
/**
* 作废仓库库存查询详情
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 结果
*/
public int cancelWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/**
* 恢复仓库库存查询详情
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 结果
*/
public int restoreWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/*
* 根据物料号查询库存查询详情列表
* */
List<WarehouseInventoryInquiryDetail> selectWarehouseInventoryInquiryDetailByMaterialNo(String materialNo);
}

5
ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryInquiryMapper.java

@ -74,4 +74,9 @@ public interface WarehouseInventoryInquiryMapper
* @return 结果
*/
public int restoreWarehouseInventoryInquiryById(Long inventoryInquiryId);
/*
* 根据物料号查询库存查询信息
* */
WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo);
}

80
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryDetailService.java

@ -0,0 +1,80 @@
package com.ruoyi.warehouse.service;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiryDetail;
/**
* 仓库库存查询详情Service接口
*
* @author 刘晓旭
* @date 2024-06-06
*/
public interface IWarehouseInventoryInquiryDetailService
{
/**
* 查询仓库库存查询详情
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 仓库库存查询详情
*/
public WarehouseInventoryInquiryDetail selectWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/**
* 查询仓库库存查询详情列表
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 仓库库存查询详情集合
*/
public List<WarehouseInventoryInquiryDetail> selectWarehouseInventoryInquiryDetailList(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail);
/**
* 新增仓库库存查询详情
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 结果
*/
public int insertWarehouseInventoryInquiryDetail(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail);
/**
* 修改仓库库存查询详情
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 结果
*/
public int updateWarehouseInventoryInquiryDetail(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail);
/**
* 批量删除仓库库存查询详情
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseInventoryInquiryDetailByIds(String ids);
/**
* 删除仓库库存查询详情信息
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 结果
*/
public int deleteWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/**
* 作废仓库库存查询详情
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return
*/
int cancelWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/**
* 恢复仓库库存查询详情
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return
*/
int restoreWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId);
/*
* 根据物料号查询库存查询详情列表
* */
List<WarehouseInventoryInquiryDetail> selectWarehouseInventoryInquiryDetailByMaterialNo(String materialNo);
}

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

@ -72,4 +72,9 @@ public interface IWarehouseInventoryInquiryService
* @return
*/
int restoreWarehouseInventoryInquiryById(Long inventoryInquiryId);
/*
* 根据物料号查询库存查询信息
* */
public WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo);
}

135
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryDetailServiceImpl.java

@ -0,0 +1,135 @@
package com.ruoyi.warehouse.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryDetailMapper;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiryDetail;
import com.ruoyi.warehouse.service.IWarehouseInventoryInquiryDetailService;
import com.ruoyi.common.core.text.Convert;
/**
* 仓库库存查询详情Service业务层处理
*
* @author 刘晓旭
* @date 2024-06-06
*/
@Service
public class WarehouseInventoryInquiryDetailServiceImpl implements IWarehouseInventoryInquiryDetailService
{
@Autowired
private WarehouseInventoryInquiryDetailMapper warehouseInventoryInquiryDetailMapper;
/**
* 查询仓库库存查询详情
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 仓库库存查询详情
*/
@Override
public WarehouseInventoryInquiryDetail selectWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId)
{
return warehouseInventoryInquiryDetailMapper.selectWarehouseInventoryInquiryDetailById(inventoryInquiryDetailId);
}
/**
* 查询仓库库存查询详情列表
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 仓库库存查询详情
*/
@Override
public List<WarehouseInventoryInquiryDetail> selectWarehouseInventoryInquiryDetailList(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail)
{
return warehouseInventoryInquiryDetailMapper.selectWarehouseInventoryInquiryDetailList(warehouseInventoryInquiryDetail);
}
/**
* 新增仓库库存查询详情
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 结果
*/
@Override
public int insertWarehouseInventoryInquiryDetail(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail)
{
warehouseInventoryInquiryDetail.setCreateTime(DateUtils.getNowDate());
String loginName = ShiroUtils.getLoginName();
warehouseInventoryInquiryDetail.setCreateBy(loginName);
return warehouseInventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(warehouseInventoryInquiryDetail);
}
/**
* 修改仓库库存查询详情
*
* @param warehouseInventoryInquiryDetail 仓库库存查询详情
* @return 结果
*/
@Override
public int updateWarehouseInventoryInquiryDetail(WarehouseInventoryInquiryDetail warehouseInventoryInquiryDetail)
{
String loginName = ShiroUtils.getLoginName();
warehouseInventoryInquiryDetail.setUpdateBy(loginName);
warehouseInventoryInquiryDetail.setUpdateTime(DateUtils.getNowDate());
return warehouseInventoryInquiryDetailMapper.updateWarehouseInventoryInquiryDetail(warehouseInventoryInquiryDetail);
}
/**
* 删除仓库库存查询详情对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWarehouseInventoryInquiryDetailByIds(String ids)
{
return warehouseInventoryInquiryDetailMapper.deleteWarehouseInventoryInquiryDetailByIds(Convert.toStrArray(ids));
}
/**
* 删除仓库库存查询详情信息
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 结果
*/
@Override
public int deleteWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId)
{
return warehouseInventoryInquiryDetailMapper.deleteWarehouseInventoryInquiryDetailById(inventoryInquiryDetailId);
}
/**
* 作废仓库库存查询详情
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 结果
*/
@Override
public int cancelWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId)
{
return warehouseInventoryInquiryDetailMapper.cancelWarehouseInventoryInquiryDetailById(inventoryInquiryDetailId);
}
/**
* 恢复仓库库存查询详情信息
*
* @param inventoryInquiryDetailId 仓库库存查询详情ID
* @return 结果
*/
@Override
public int restoreWarehouseInventoryInquiryDetailById(Long inventoryInquiryDetailId)
{
return warehouseInventoryInquiryDetailMapper.restoreWarehouseInventoryInquiryDetailById(inventoryInquiryDetailId);
}
/*
* 根据物料号查询库存查询详情列表
* */
@Override
public List<WarehouseInventoryInquiryDetail> selectWarehouseInventoryInquiryDetailByMaterialNo(String materialNo) {
return warehouseInventoryInquiryDetailMapper.selectWarehouseInventoryInquiryDetailByMaterialNo(materialNo);
}
}

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

@ -123,4 +123,13 @@ public class WarehouseInventoryInquiryServiceImpl implements IWarehouseInventory
{
return warehouseInventoryInquiryMapper.restoreWarehouseInventoryInquiryById(inventoryInquiryId);
}
/*
* 根据物料号查询库存查询信息
* */
@Override
public WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo) {
return warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
}
}

198
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryDetailMapper.xml

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryDetailMapper">
<resultMap type="WarehouseInventoryInquiryDetail" id="WarehouseInventoryInquiryDetailResult">
<result property="inventoryInquiryDetailId" column="inventory_inquiry_detail_id" />
<result property="materialNo" column="material_no" />
<result property="materialName" column="material_name" />
<result property="materialType" column="material_type" />
<result property="materialPhotourl" column="material_photoUrl" />
<result property="materialBrand" column="material_brand" />
<result property="materialUnit" column="material_unit" />
<result property="materialDescribe" column="material_describe" />
<result property="materialProcessMethod" column="material_process_method" />
<result property="materialModel" column="material_model" />
<result property="materialSpecification" column="material_specification" />
<result property="historicalTotal" column="historical_total" />
<result property="availableStockNum" column="available_stock_num" />
<result property="attributionAvailableStockNum" column="attribution_available_stock_num" />
<result property="noattributionAvailableStockNum" column="noattribution_available_stock_num" />
<result property="useNum" column="use_num" />
<result property="reportDamageNum" column="report_damage_num" />
<result property="materialUseStatus" column="material_use_status" />
<result property="inventoryAttributionCode" column="inventory_attribution_code" />
<result property="inventoryUseCode" column="inventory_use_code" />
<result property="inventoryHistoricalTime" column="inventory_historical_time" />
<result property="inventoryHistoricalType" column="inventory_historical_type" />
<result property="inventoryIncreaseDecrease" column="inventory_increase_decrease" />
<result property="inventoryHistoricalNum" column="inventory_historical_num" />
<result property="purchasePriceExcludingTax" column="purchase_price_excluding_tax" />
<result property="purchasePriceIncludesTax" column="purchase_price_includes_tax" />
<result property="purchaseOrderCode" column="purchase_order_code" />
<result property="supplierCode" column="supplier_code" />
<result property="supplierName" column="supplier_name" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectWarehouseInventoryInquiryDetailVo">
select inventory_inquiry_detail_id, material_no, material_name, material_type, material_photoUrl, material_brand, material_unit, material_describe, material_process_method, material_model, material_specification, historical_total, available_stock_num, attribution_available_stock_num, noattribution_available_stock_num, use_num, report_damage_num, material_use_status, inventory_attribution_code, inventory_use_code, inventory_historical_time, inventory_historical_type, inventory_increase_decrease, inventory_historical_num, purchase_price_excluding_tax, purchase_price_includes_tax, purchase_order_code, supplier_code, supplier_name, remark, create_time, create_by, update_by, update_time from warehouse_inventory_inquiry_detail
</sql>
<select id="selectWarehouseInventoryInquiryDetailList" parameterType="WarehouseInventoryInquiryDetail" resultMap="WarehouseInventoryInquiryDetailResult">
<include refid="selectWarehouseInventoryInquiryDetailVo"/>
<where>
</where>
</select>
<select id="selectWarehouseInventoryInquiryDetailById" parameterType="Long" resultMap="WarehouseInventoryInquiryDetailResult">
<include refid="selectWarehouseInventoryInquiryDetailVo"/>
where inventory_inquiry_detail_id = #{inventoryInquiryDetailId}
</select>
<select id="selectWarehouseInventoryInquiryDetailByMaterialNo" parameterType="String" resultMap="WarehouseInventoryInquiryDetailResult">
<include refid="selectWarehouseInventoryInquiryDetailVo"/>
where material_no = #{materialNo}
</select>
<insert id="insertWarehouseInventoryInquiryDetail" parameterType="WarehouseInventoryInquiryDetail" useGeneratedKeys="true" keyProperty="inventoryInquiryDetailId">
insert into warehouse_inventory_inquiry_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="materialNo != null">material_no,</if>
<if test="materialName != null">material_name,</if>
<if test="materialType != null">material_type,</if>
<if test="materialPhotourl != null">material_photoUrl,</if>
<if test="materialBrand != null">material_brand,</if>
<if test="materialUnit != null">material_unit,</if>
<if test="materialDescribe != null">material_describe,</if>
<if test="materialProcessMethod != null">material_process_method,</if>
<if test="materialModel != null">material_model,</if>
<if test="materialSpecification != null">material_specification,</if>
<if test="historicalTotal != null">historical_total,</if>
<if test="availableStockNum != null">available_stock_num,</if>
<if test="attributionAvailableStockNum != null">attribution_available_stock_num,</if>
<if test="noattributionAvailableStockNum != null">noattribution_available_stock_num,</if>
<if test="useNum != null">use_num,</if>
<if test="reportDamageNum != null">report_damage_num,</if>
<if test="materialUseStatus != null">material_use_status,</if>
<if test="inventoryAttributionCode != null">inventory_attribution_code,</if>
<if test="inventoryUseCode != null">inventory_use_code,</if>
<if test="inventoryHistoricalTime != null">inventory_historical_time,</if>
<if test="inventoryHistoricalType != null">inventory_historical_type,</if>
<if test="inventoryIncreaseDecrease != null">inventory_increase_decrease,</if>
<if test="inventoryHistoricalNum != null">inventory_historical_num,</if>
<if test="purchasePriceExcludingTax != null">purchase_price_excluding_tax,</if>
<if test="purchasePriceIncludesTax != null">purchase_price_includes_tax,</if>
<if test="purchaseOrderCode != null">purchase_order_code,</if>
<if test="supplierCode != null">supplier_code,</if>
<if test="supplierName != null">supplier_name,</if>
<if test="remark != null">remark,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="materialNo != null">#{materialNo},</if>
<if test="materialName != null">#{materialName},</if>
<if test="materialType != null">#{materialType},</if>
<if test="materialPhotourl != null">#{materialPhotourl},</if>
<if test="materialBrand != null">#{materialBrand},</if>
<if test="materialUnit != null">#{materialUnit},</if>
<if test="materialDescribe != null">#{materialDescribe},</if>
<if test="materialProcessMethod != null">#{materialProcessMethod},</if>
<if test="materialModel != null">#{materialModel},</if>
<if test="materialSpecification != null">#{materialSpecification},</if>
<if test="historicalTotal != null">#{historicalTotal},</if>
<if test="availableStockNum != null">#{availableStockNum},</if>
<if test="attributionAvailableStockNum != null">#{attributionAvailableStockNum},</if>
<if test="noattributionAvailableStockNum != null">#{noattributionAvailableStockNum},</if>
<if test="useNum != null">#{useNum},</if>
<if test="reportDamageNum != null">#{reportDamageNum},</if>
<if test="materialUseStatus != null">#{materialUseStatus},</if>
<if test="inventoryAttributionCode != null">#{inventoryAttributionCode},</if>
<if test="inventoryUseCode != null">#{inventoryUseCode},</if>
<if test="inventoryHistoricalTime != null">#{inventoryHistoricalTime},</if>
<if test="inventoryHistoricalType != null">#{inventoryHistoricalType},</if>
<if test="inventoryIncreaseDecrease != null">#{inventoryIncreaseDecrease},</if>
<if test="inventoryHistoricalNum != null">#{inventoryHistoricalNum},</if>
<if test="purchasePriceExcludingTax != null">#{purchasePriceExcludingTax},</if>
<if test="purchasePriceIncludesTax != null">#{purchasePriceIncludesTax},</if>
<if test="purchaseOrderCode != null">#{purchaseOrderCode},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="supplierName != null">#{supplierName},</if>
<if test="remark != null">#{remark},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateWarehouseInventoryInquiryDetail" parameterType="WarehouseInventoryInquiryDetail">
update warehouse_inventory_inquiry_detail
<trim prefix="SET" suffixOverrides=",">
<if test="materialNo != null">material_no = #{materialNo},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="materialType != null">material_type = #{materialType},</if>
<if test="materialPhotourl != null">material_photoUrl = #{materialPhotourl},</if>
<if test="materialBrand != null">material_brand = #{materialBrand},</if>
<if test="materialUnit != null">material_unit = #{materialUnit},</if>
<if test="materialDescribe != null">material_describe = #{materialDescribe},</if>
<if test="materialProcessMethod != null">material_process_method = #{materialProcessMethod},</if>
<if test="materialModel != null">material_model = #{materialModel},</if>
<if test="materialSpecification != null">material_specification = #{materialSpecification},</if>
<if test="historicalTotal != null">historical_total = #{historicalTotal},</if>
<if test="availableStockNum != null">available_stock_num = #{availableStockNum},</if>
<if test="attributionAvailableStockNum != null">attribution_available_stock_num = #{attributionAvailableStockNum},</if>
<if test="noattributionAvailableStockNum != null">noattribution_available_stock_num = #{noattributionAvailableStockNum},</if>
<if test="useNum != null">use_num = #{useNum},</if>
<if test="reportDamageNum != null">report_damage_num = #{reportDamageNum},</if>
<if test="materialUseStatus != null">material_use_status = #{materialUseStatus},</if>
<if test="inventoryAttributionCode != null">inventory_attribution_code = #{inventoryAttributionCode},</if>
<if test="inventoryUseCode != null">inventory_use_code = #{inventoryUseCode},</if>
<if test="inventoryHistoricalTime != null">inventory_historical_time = #{inventoryHistoricalTime},</if>
<if test="inventoryHistoricalType != null">inventory_historical_type = #{inventoryHistoricalType},</if>
<if test="inventoryIncreaseDecrease != null">inventory_increase_decrease = #{inventoryIncreaseDecrease},</if>
<if test="inventoryHistoricalNum != null">inventory_historical_num = #{inventoryHistoricalNum},</if>
<if test="purchasePriceExcludingTax != null">purchase_price_excluding_tax = #{purchasePriceExcludingTax},</if>
<if test="purchasePriceIncludesTax != null">purchase_price_includes_tax = #{purchasePriceIncludesTax},</if>
<if test="purchaseOrderCode != null">purchase_order_code = #{purchaseOrderCode},</if>
<if test="supplierCode != null">supplier_code = #{supplierCode},</if>
<if test="supplierName != null">supplier_name = #{supplierName},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where inventory_inquiry_detail_id = #{inventoryInquiryDetailId}
</update>
<delete id="deleteWarehouseInventoryInquiryDetailById" parameterType="Long">
delete from warehouse_inventory_inquiry_detail where inventory_inquiry_detail_id = #{inventoryInquiryDetailId}
</delete>
<delete id="deleteWarehouseInventoryInquiryDetailByIds" parameterType="String">
delete from warehouse_inventory_inquiry_detail where inventory_inquiry_detail_id in
<foreach item="inventoryInquiryDetailId" collection="array" open="(" separator="," close=")">
#{inventoryInquiryDetailId}
</foreach>
</delete>
<update id="cancelWarehouseInventoryInquiryDetailById" parameterType="Long">
update warehouse_inventory_inquiry_detail set del_flag = '1' where inventory_inquiry_detail_id = #{inventoryInquiryDetailId}
</update>
<update id="restoreWarehouseInventoryInquiryDetailById" parameterType="Long">
update warehouse_inventory_inquiry_detail set del_flag = '0' where inventory_inquiry_detail_id = #{inventoryInquiryDetailId}
</update>
</mapper>

8
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryMapper.xml

@ -47,7 +47,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectWarehouseInventoryInquiryVo"/>
where inventory_inquiry_id = #{inventoryInquiryId}
</select>
<select id="selectWarehouseInventoryInquiryByMaterialNo" parameterType="String" resultMap="WarehouseInventoryInquiryResult">
<include refid="selectWarehouseInventoryInquiryVo"/>
where material_no = #{materialNo}
</select>
<insert id="insertWarehouseInventoryInquiry" parameterType="WarehouseInventoryInquiry" useGeneratedKeys="true" keyProperty="inventoryInquiryId">
insert into warehouse_inventory_inquiry
<trim prefix="(" suffix=")" suffixOverrides=",">

145
ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryHistory.html

@ -0,0 +1,145 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('库存历史')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-inventoryHistory-edit" th:object="${warehouseInventoryInquiry}">
<input name="inventoryInquiryId" th:field="*{inventoryInquiryId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">料号:</label>
<div class="col-sm-8">
<input name="materialNo" th:field="*{materialNo}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">图片:</label>
<div class="col-sm-8">
<input name="materialPhotourl" th:field="*{materialPhotourl}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类型:</label>
<div class="col-sm-8">
<input name="materialType" th:field="*{materialType}" class="form-control" type="text" disabled>
</div>
</div>
</form>
<!--物料库存历史详细信息-->
<div class="container">
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "warehouse/inventoryInquiry";
var warehouseInventoryInquiry = [[${warehouseInventoryInquiry}]];
$("#form-inventoryHistory-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-inventoryHistory-edit').serialize());
}
}
//物料出库历史详细信息展示列表
$(function() {
var options = {
modalName: "选择物料",
url: ctx + "warehouse/inventoryInquiry/getMaterialInventoryHistoricalList",
queryParams: queryParams,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
pagination: false, // 设置不分页
columns: [{
checkbox: true
},
{
title: '库存查询详情id',
field: 'inventoryInquiryDetailId',
visible: false
},
{
title: '物料号',
field: 'materialNo',
visible: false
},
{
title: '库存历史时间',
field: 'inventoryHistoricalTime',
},
{
title: '库存历史类型',
field: 'inventoryHistoricalType',
},
{
title: '库存增减',
field: 'inventoryIncreaseDecrease',
},
{
title: '库存历史数量',
field: 'inventoryHistoricalNum',
},
{
title: '不含税采购总价',
field: 'purchasePriceExcludingTax',
},
{
title: '含税总价',
field: 'purchasePriceIncludesTax',
},
{
title: '采购单号',
field: 'purchaseOrderCode',
},
{
title: '供应商ID',
field: 'supplierCode',
},
{
title: '供应商名称',
field: 'supplierName',
},
{
title: '库存归属单号',
field: 'inventoryAttributionCode',
},
{
title: '库存使用单号',
field: 'inventoryUseCode',
},
]
};
$.table.init(options);
})
function queryParams(params) {
var curParams = {
// 传递参数查询参数
materialNo: warehouseInventoryInquiry.materialNo
};
console.log(curParams);
return curParams;
}
</script>
</body>
</html>

17
ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html

@ -34,6 +34,9 @@
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a id="addRefundsButton" class="btn btn-success" onclick="add()" shiro:hasPermission="quality:refundsExchanges:add">
<i class="fa fa-plus"></i> 库存历史
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="warehouse:inventoryInquiry:export">
<i class="fa fa-download"></i> 导出
</a>
@ -165,6 +168,20 @@
};
$.table.init(options);
});
/*查看库存历史*/
function add() {
var rows = $("#bootstrap-table").bootstrapTable('getSelections');
console.log("rows" + rows);
if (rows.length == 1){
var url = ctx + 'warehouse/inventoryInquiry/inventoryHistory/' +rows[0].materialNo;
$.modal.open("库存历史",url);
}else{
$.modal.msgWarning("只能查看一种物料的库存历史!")
}
};
</script>
</body>
</html>
Loading…
Cancel
Save