Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dev
zhangsiqi 9 months ago
parent
commit
940b71312b
  1. 116
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryCheckController.java
  2. 46
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryInquiryController.java
  3. 171
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryCheck.java
  4. 247
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryCheckDetail.java
  5. 421
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryInquiryDetail.java
  6. 77
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryCheckDetailMapper.java
  7. 80
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryCheckMapper.java
  8. 82
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryInquiryDetailMapper.java
  9. 5
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryInquiryMapper.java
  10. 75
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryCheckDetailService.java
  11. 46
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryCheckService.java
  12. 80
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryDetailService.java
  13. 5
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryService.java
  14. 126
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryCheckDetailServiceImpl.java
  15. 117
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryCheckServiceImpl.java
  16. 135
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryDetailServiceImpl.java
  17. 9
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java
  18. 140
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryCheckDetailMapper.xml
  19. 127
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryCheckMapper.xml
  20. 198
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryDetailMapper.xml
  21. 8
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryMapper.xml
  22. 66
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryCheck/add.html
  23. 97
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryCheck/edit.html
  24. 169
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryCheck/inventoryCheck.html
  25. 145
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryHistory.html
  26. 17
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html

116
ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryCheckController.java

@ -0,0 +1,116 @@
package com.ruoyi.warehouse.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.warehouse.domain.WarehouseInventoryCheck;
import com.ruoyi.warehouse.service.IWarehouseInventoryCheckService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 仓库库存盘点Controller
*
* @author 刘晓旭
* @date 2024-06-07
*/
@Controller
@RequestMapping("/warehouse/inventoryCheck")
public class WarehouseInventoryCheckController extends BaseController
{
private String prefix = "warehouse/inventoryCheck";
@Autowired
private IWarehouseInventoryCheckService warehouseInventoryCheckService;
@RequiresPermissions("warehouse:inventoryCheck:view")
@GetMapping()
public String inventoryCheck()
{
return prefix + "/inventoryCheck";
}
/**
* 查询仓库库存盘点列表
*/
@RequiresPermissions("warehouse:inventoryCheck:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WarehouseInventoryCheck warehouseInventoryCheck)
{
startPage();
List<WarehouseInventoryCheck> list = warehouseInventoryCheckService.selectWarehouseInventoryCheckList(warehouseInventoryCheck);
return getDataTable(list);
}
/**
* 导出仓库库存盘点列表
*/
@RequiresPermissions("warehouse:inventoryCheck:export")
@Log(title = "仓库库存盘点", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WarehouseInventoryCheck warehouseInventoryCheck)
{
List<WarehouseInventoryCheck> list = warehouseInventoryCheckService.selectWarehouseInventoryCheckList(warehouseInventoryCheck);
ExcelUtil<WarehouseInventoryCheck> util = new ExcelUtil<WarehouseInventoryCheck>(WarehouseInventoryCheck.class);
return util.exportExcel(list, "仓库库存盘点数据");
}
/**
* 新增仓库库存盘点
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存仓库库存盘点
*/
@RequiresPermissions("warehouse:inventoryCheck:add")
@Log(title = "仓库库存盘点", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WarehouseInventoryCheck warehouseInventoryCheck)
{
return toAjax(warehouseInventoryCheckService.insertWarehouseInventoryCheck(warehouseInventoryCheck));
}
/**
* 修改仓库库存盘点
*/
@GetMapping("/edit/{inventoryCheckId}")
public String edit(@PathVariable("inventoryCheckId") Long inventoryCheckId, ModelMap mmap)
{
WarehouseInventoryCheck warehouseInventoryCheck = warehouseInventoryCheckService.selectWarehouseInventoryCheckById(inventoryCheckId);
mmap.put("warehouseInventoryCheck", warehouseInventoryCheck);
return prefix + "/edit";
}
/**
* 修改保存仓库库存盘点
*/
@RequiresPermissions("warehouse:inventoryCheck:edit")
@Log(title = "仓库库存盘点", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WarehouseInventoryCheck warehouseInventoryCheck)
{
return toAjax(warehouseInventoryCheckService.updateWarehouseInventoryCheck(warehouseInventoryCheck));
}
}

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

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

171
ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryCheck.java

@ -0,0 +1,171 @@
package com.ruoyi.warehouse.domain;
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_check
*
* @author 刘晓旭
* @date 2024-06-07
*/
public class WarehouseInventoryCheck extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 库存盘点ID */
private Long inventoryCheckId;
/** 库存盘点单号 */
@Excel(name = "库存盘点单号")
private String inventoryCheckCode;
/** 库存盘点人名 */
@Excel(name = "库存盘点人名")
private String inventoryCheckName;
/** 料号 */
@Excel(name = "料号")
private String materialNo;
/** 物料名称 */
@Excel(name = "物料名称")
private String materialName;
/** 仓库号 */
@Excel(name = "仓库号")
private String warehouseCode;
/** 仓库名称 */
@Excel(name = "仓库名称")
private String warehouseName;
/** 库存盘点日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "库存盘点日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date inventoryCheckDate;
/** 物料数合计 */
@Excel(name = "物料数合计")
private Integer materialTotal;
/** 数量合计 */
@Excel(name = "数量合计")
private Integer numTotal;
public void setInventoryCheckId(Long inventoryCheckId)
{
this.inventoryCheckId = inventoryCheckId;
}
public Long getInventoryCheckId()
{
return inventoryCheckId;
}
public void setInventoryCheckCode(String inventoryCheckCode)
{
this.inventoryCheckCode = inventoryCheckCode;
}
public String getInventoryCheckCode()
{
return inventoryCheckCode;
}
public void setInventoryCheckName(String inventoryCheckName)
{
this.inventoryCheckName = inventoryCheckName;
}
public String getInventoryCheckName()
{
return inventoryCheckName;
}
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 setWarehouseCode(String warehouseCode)
{
this.warehouseCode = warehouseCode;
}
public String getWarehouseCode()
{
return warehouseCode;
}
public void setWarehouseName(String warehouseName)
{
this.warehouseName = warehouseName;
}
public String getWarehouseName()
{
return warehouseName;
}
public void setInventoryCheckDate(Date inventoryCheckDate)
{
this.inventoryCheckDate = inventoryCheckDate;
}
public Date getInventoryCheckDate()
{
return inventoryCheckDate;
}
public void setMaterialTotal(Integer materialTotal)
{
this.materialTotal = materialTotal;
}
public Integer getMaterialTotal()
{
return materialTotal;
}
public void setNumTotal(Integer numTotal)
{
this.numTotal = numTotal;
}
public Integer getNumTotal()
{
return numTotal;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("inventoryCheckId", getInventoryCheckId())
.append("inventoryCheckCode", getInventoryCheckCode())
.append("inventoryCheckName", getInventoryCheckName())
.append("materialNo", getMaterialNo())
.append("materialName", getMaterialName())
.append("warehouseCode", getWarehouseCode())
.append("warehouseName", getWarehouseName())
.append("inventoryCheckDate", getInventoryCheckDate())
.append("materialTotal", getMaterialTotal())
.append("numTotal", getNumTotal())
.append("remark", getRemark())
.append("createTime", getCreateTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

247
ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryCheckDetail.java

@ -0,0 +1,247 @@
package com.ruoyi.warehouse.domain;
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_check_detail
*
* @author 刘晓旭
* @date 2024-06-07
*/
public class WarehouseInventoryCheckDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 库存盘点详情ID */
private Long inventoryCheckDetailId;
/** 库存盘点单号 */
private String inventoryCheckCode;
/** 库存盘点人名 */
private String inventoryCheckName;
/** 料号 */
@Excel(name = "料号")
private String materialNo;
/** 物料名称 */
@Excel(name = "物料名称")
private String materialName;
/** 物料单位 */
@Excel(name = "物料单位")
private String materialUnit;
/** 物料描述 */
@Excel(name = "物料描述")
private String materialDescribe;
/** 库存盘点数量 */
@Excel(name = "库存盘点数量")
private Integer inventoryCheckNum;
/** 当时库存账上数量 */
@Excel(name = "当时库存账上数量")
private Integer inventoryAccountNum;
/** 仓库存放地址 */
@Excel(name = "仓库存放地址")
private String warehouseStoreAddress;
/** 批号 */
@Excel(name = "批号")
private Integer batchNumber;
/** 仓库号 */
private String warehouseCode;
/** 仓库名称 */
private String warehouseName;
/** 库存盘点日期 */
private Date inventoryCheckDate;
/** 物料数合计 */
private Integer materialTotal;
/** 数量合计 */
private Integer numTotal;
public void setInventoryCheckDetailId(Long inventoryCheckDetailId)
{
this.inventoryCheckDetailId = inventoryCheckDetailId;
}
public Long getInventoryCheckDetailId()
{
return inventoryCheckDetailId;
}
public void setInventoryCheckCode(String inventoryCheckCode)
{
this.inventoryCheckCode = inventoryCheckCode;
}
public String getInventoryCheckCode()
{
return inventoryCheckCode;
}
public void setInventoryCheckName(String inventoryCheckName)
{
this.inventoryCheckName = inventoryCheckName;
}
public String getInventoryCheckName()
{
return inventoryCheckName;
}
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 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 setInventoryCheckNum(Integer inventoryCheckNum)
{
this.inventoryCheckNum = inventoryCheckNum;
}
public Integer getInventoryCheckNum()
{
return inventoryCheckNum;
}
public void setInventoryAccountNum(Integer inventoryAccountNum)
{
this.inventoryAccountNum = inventoryAccountNum;
}
public Integer getInventoryAccountNum()
{
return inventoryAccountNum;
}
public void setWarehouseStoreAddress(String warehouseStoreAddress)
{
this.warehouseStoreAddress = warehouseStoreAddress;
}
public String getWarehouseStoreAddress()
{
return warehouseStoreAddress;
}
public void setBatchNumber(Integer batchNumber)
{
this.batchNumber = batchNumber;
}
public Integer getBatchNumber()
{
return batchNumber;
}
public void setWarehouseCode(String warehouseCode)
{
this.warehouseCode = warehouseCode;
}
public String getWarehouseCode()
{
return warehouseCode;
}
public void setWarehouseName(String warehouseName)
{
this.warehouseName = warehouseName;
}
public String getWarehouseName()
{
return warehouseName;
}
public void setInventoryCheckDate(Date inventoryCheckDate)
{
this.inventoryCheckDate = inventoryCheckDate;
}
public Date getInventoryCheckDate()
{
return inventoryCheckDate;
}
public void setMaterialTotal(Integer materialTotal)
{
this.materialTotal = materialTotal;
}
public Integer getMaterialTotal()
{
return materialTotal;
}
public void setNumTotal(Integer numTotal)
{
this.numTotal = numTotal;
}
public Integer getNumTotal()
{
return numTotal;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("inventoryCheckDetailId", getInventoryCheckDetailId())
.append("inventoryCheckCode", getInventoryCheckCode())
.append("inventoryCheckName", getInventoryCheckName())
.append("materialNo", getMaterialNo())
.append("materialName", getMaterialName())
.append("materialUnit", getMaterialUnit())
.append("materialDescribe", getMaterialDescribe())
.append("inventoryCheckNum", getInventoryCheckNum())
.append("inventoryAccountNum", getInventoryAccountNum())
.append("warehouseStoreAddress", getWarehouseStoreAddress())
.append("batchNumber", getBatchNumber())
.append("warehouseCode", getWarehouseCode())
.append("warehouseName", getWarehouseName())
.append("inventoryCheckDate", getInventoryCheckDate())
.append("materialTotal", getMaterialTotal())
.append("numTotal", getNumTotal())
.append("remark", getRemark())
.append("createTime", getCreateTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

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();
}
}

77
ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryCheckDetailMapper.java

@ -0,0 +1,77 @@
package com.ruoyi.warehouse.mapper;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseInventoryCheckDetail;
/**
* 仓库库存盘点详情Mapper接口
*
* @author 刘晓旭
* @date 2024-06-07
*/
public interface WarehouseInventoryCheckDetailMapper
{
/**
* 查询仓库库存盘点详情
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 仓库库存盘点详情
*/
public WarehouseInventoryCheckDetail selectWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
/**
* 查询仓库库存盘点详情列表
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 仓库库存盘点详情集合
*/
public List<WarehouseInventoryCheckDetail> selectWarehouseInventoryCheckDetailList(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail);
/**
* 新增仓库库存盘点详情
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 结果
*/
public int insertWarehouseInventoryCheckDetail(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail);
/**
* 修改仓库库存盘点详情
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 结果
*/
public int updateWarehouseInventoryCheckDetail(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail);
/**
* 删除仓库库存盘点详情
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 结果
*/
public int deleteWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
/**
* 批量删除仓库库存盘点详情
*
* @param inventoryCheckDetailIds 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseInventoryCheckDetailByIds(String[] inventoryCheckDetailIds);
/**
* 作废仓库库存盘点详情
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 结果
*/
public int cancelWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
/**
* 恢复仓库库存盘点详情
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 结果
*/
public int restoreWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
}

80
ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseInventoryCheckMapper.java

@ -0,0 +1,80 @@
package com.ruoyi.warehouse.mapper;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseInventoryCheck;
import org.apache.ibatis.annotations.Param;
/**
* 仓库库存盘点Mapper接口
*
* @author 刘晓旭
* @date 2024-06-07
*/
public interface WarehouseInventoryCheckMapper
{
/**
* 查询仓库库存盘点
*
* @param inventoryCheckId 仓库库存盘点ID
* @return 仓库库存盘点
*/
public WarehouseInventoryCheck selectWarehouseInventoryCheckById(Long inventoryCheckId);
/**
* 查询仓库库存盘点列表
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 仓库库存盘点集合
*/
public List<WarehouseInventoryCheck> selectWarehouseInventoryCheckList(WarehouseInventoryCheck warehouseInventoryCheck);
/**
* 新增仓库库存盘点
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 结果
*/
public int insertWarehouseInventoryCheck(WarehouseInventoryCheck warehouseInventoryCheck);
/**
* 修改仓库库存盘点
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 结果
*/
public int updateWarehouseInventoryCheck(WarehouseInventoryCheck warehouseInventoryCheck);
/**
* 删除仓库库存盘点
*
* @param inventoryCheckId 仓库库存盘点ID
* @return 结果
*/
public int deleteWarehouseInventoryCheckById(Long inventoryCheckId);
/**
* 批量删除仓库库存盘点
*
* @param inventoryCheckIds 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseInventoryCheckByIds(String[] inventoryCheckIds);
/**
* 作废仓库库存盘点
*
* @param inventoryCheckId 仓库库存盘点ID
* @return 结果
*/
public int cancelWarehouseInventoryCheckById(Long inventoryCheckId);
/**
* 恢复仓库库存盘点
*
* @param inventoryCheckId 仓库库存盘点ID
* @return 结果
*/
public int restoreWarehouseInventoryCheckById(Long inventoryCheckId);
public String findMaxRoundCode(@Param("prefix") String prefix);
}

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 结果 * @return 结果
*/ */
public int restoreWarehouseInventoryInquiryById(Long inventoryInquiryId); public int restoreWarehouseInventoryInquiryById(Long inventoryInquiryId);
/*
* 根据物料号查询库存查询信息
* */
WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo);
} }

75
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryCheckDetailService.java

@ -0,0 +1,75 @@
package com.ruoyi.warehouse.service;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseInventoryCheckDetail;
/**
* 仓库库存盘点详情Service接口
*
* @author 刘晓旭
* @date 2024-06-07
*/
public interface IWarehouseInventoryCheckDetailService
{
/**
* 查询仓库库存盘点详情
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 仓库库存盘点详情
*/
public WarehouseInventoryCheckDetail selectWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
/**
* 查询仓库库存盘点详情列表
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 仓库库存盘点详情集合
*/
public List<WarehouseInventoryCheckDetail> selectWarehouseInventoryCheckDetailList(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail);
/**
* 新增仓库库存盘点详情
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 结果
*/
public int insertWarehouseInventoryCheckDetail(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail);
/**
* 修改仓库库存盘点详情
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 结果
*/
public int updateWarehouseInventoryCheckDetail(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail);
/**
* 批量删除仓库库存盘点详情
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseInventoryCheckDetailByIds(String ids);
/**
* 删除仓库库存盘点详情信息
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 结果
*/
public int deleteWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
/**
* 作废仓库库存盘点详情
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return
*/
int cancelWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
/**
* 恢复仓库库存盘点详情
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return
*/
int restoreWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId);
}

46
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryCheckService.java

@ -0,0 +1,46 @@
package com.ruoyi.warehouse.service;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseInventoryCheck;
/**
* 仓库库存盘点Service接口
*
* @author 刘晓旭
* @date 2024-06-07
*/
public interface IWarehouseInventoryCheckService
{
/**
* 查询仓库库存盘点
*
* @param inventoryCheckId 仓库库存盘点ID
* @return 仓库库存盘点
*/
public WarehouseInventoryCheck selectWarehouseInventoryCheckById(Long inventoryCheckId);
/**
* 查询仓库库存盘点列表
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 仓库库存盘点集合
*/
public List<WarehouseInventoryCheck> selectWarehouseInventoryCheckList(WarehouseInventoryCheck warehouseInventoryCheck);
/**
* 新增仓库库存盘点
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 结果
*/
public int insertWarehouseInventoryCheck(WarehouseInventoryCheck warehouseInventoryCheck);
/**
* 修改仓库库存盘点
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 结果
*/
public int updateWarehouseInventoryCheck(WarehouseInventoryCheck warehouseInventoryCheck);
}

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 * @return
*/ */
int restoreWarehouseInventoryInquiryById(Long inventoryInquiryId); int restoreWarehouseInventoryInquiryById(Long inventoryInquiryId);
/*
* 根据物料号查询库存查询信息
* */
public WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo);
} }

126
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryCheckDetailServiceImpl.java

@ -0,0 +1,126 @@
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.WarehouseInventoryCheckDetailMapper;
import com.ruoyi.warehouse.domain.WarehouseInventoryCheckDetail;
import com.ruoyi.warehouse.service.IWarehouseInventoryCheckDetailService;
import com.ruoyi.common.core.text.Convert;
/**
* 仓库库存盘点详情Service业务层处理
*
* @author 刘晓旭
* @date 2024-06-07
*/
@Service
public class WarehouseInventoryCheckDetailServiceImpl implements IWarehouseInventoryCheckDetailService
{
@Autowired
private WarehouseInventoryCheckDetailMapper warehouseInventoryCheckDetailMapper;
/**
* 查询仓库库存盘点详情
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 仓库库存盘点详情
*/
@Override
public WarehouseInventoryCheckDetail selectWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId)
{
return warehouseInventoryCheckDetailMapper.selectWarehouseInventoryCheckDetailById(inventoryCheckDetailId);
}
/**
* 查询仓库库存盘点详情列表
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 仓库库存盘点详情
*/
@Override
public List<WarehouseInventoryCheckDetail> selectWarehouseInventoryCheckDetailList(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail)
{
return warehouseInventoryCheckDetailMapper.selectWarehouseInventoryCheckDetailList(warehouseInventoryCheckDetail);
}
/**
* 新增仓库库存盘点详情
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 结果
*/
@Override
public int insertWarehouseInventoryCheckDetail(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail)
{
warehouseInventoryCheckDetail.setCreateTime(DateUtils.getNowDate());
String loginName = ShiroUtils.getLoginName();
warehouseInventoryCheckDetail.setCreateBy(loginName);
return warehouseInventoryCheckDetailMapper.insertWarehouseInventoryCheckDetail(warehouseInventoryCheckDetail);
}
/**
* 修改仓库库存盘点详情
*
* @param warehouseInventoryCheckDetail 仓库库存盘点详情
* @return 结果
*/
@Override
public int updateWarehouseInventoryCheckDetail(WarehouseInventoryCheckDetail warehouseInventoryCheckDetail)
{
String loginName = ShiroUtils.getLoginName();
warehouseInventoryCheckDetail.setUpdateBy(loginName);
warehouseInventoryCheckDetail.setUpdateTime(DateUtils.getNowDate());
return warehouseInventoryCheckDetailMapper.updateWarehouseInventoryCheckDetail(warehouseInventoryCheckDetail);
}
/**
* 删除仓库库存盘点详情对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWarehouseInventoryCheckDetailByIds(String ids)
{
return warehouseInventoryCheckDetailMapper.deleteWarehouseInventoryCheckDetailByIds(Convert.toStrArray(ids));
}
/**
* 删除仓库库存盘点详情信息
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 结果
*/
@Override
public int deleteWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId)
{
return warehouseInventoryCheckDetailMapper.deleteWarehouseInventoryCheckDetailById(inventoryCheckDetailId);
}
/**
* 作废仓库库存盘点详情
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 结果
*/
@Override
public int cancelWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId)
{
return warehouseInventoryCheckDetailMapper.cancelWarehouseInventoryCheckDetailById(inventoryCheckDetailId);
}
/**
* 恢复仓库库存盘点详情信息
*
* @param inventoryCheckDetailId 仓库库存盘点详情ID
* @return 结果
*/
@Override
public int restoreWarehouseInventoryCheckDetailById(Long inventoryCheckDetailId)
{
return warehouseInventoryCheckDetailMapper.restoreWarehouseInventoryCheckDetailById(inventoryCheckDetailId);
}
}

117
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryCheckServiceImpl.java

@ -0,0 +1,117 @@
package com.ruoyi.warehouse.service.impl;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.warehouse.mapper.WarehouseInventoryCheckMapper;
import com.ruoyi.warehouse.domain.WarehouseInventoryCheck;
import com.ruoyi.warehouse.service.IWarehouseInventoryCheckService;
import com.ruoyi.common.core.text.Convert;
/**
* 仓库库存盘点Service业务层处理
*
* @author 刘晓旭
* @date 2024-06-07
*/
@Service
public class WarehouseInventoryCheckServiceImpl implements IWarehouseInventoryCheckService
{
@Autowired
private WarehouseInventoryCheckMapper warehouseInventoryCheckMapper;
/**
* 查询仓库库存盘点
*
* @param inventoryCheckId 仓库库存盘点ID
* @return 仓库库存盘点
*/
@Override
public WarehouseInventoryCheck selectWarehouseInventoryCheckById(Long inventoryCheckId)
{
return warehouseInventoryCheckMapper.selectWarehouseInventoryCheckById(inventoryCheckId);
}
/**
* 查询仓库库存盘点列表
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 仓库库存盘点
*/
@Override
public List<WarehouseInventoryCheck> selectWarehouseInventoryCheckList(WarehouseInventoryCheck warehouseInventoryCheck)
{
return warehouseInventoryCheckMapper.selectWarehouseInventoryCheckList(warehouseInventoryCheck);
}
/**
* 新增仓库库存盘点
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 结果
*/
@Override
public int insertWarehouseInventoryCheck(WarehouseInventoryCheck warehouseInventoryCheck)
{
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String prefix = "KCPD" + simpleDateFormat.format(new Date()).replace("-", "");
String maxCode = warehouseInventoryCheckMapper.findMaxRoundCode(prefix);
String newCode = generateCode(prefix,maxCode);
warehouseInventoryCheck.setInventoryCheckCode(newCode);
warehouseInventoryCheck.setCreateTime(DateUtils.getNowDate());
String loginName = ShiroUtils.getLoginName();
warehouseInventoryCheck.setCreateBy(loginName);
return warehouseInventoryCheckMapper.insertWarehouseInventoryCheck(warehouseInventoryCheck);
}
/**
* 修改仓库库存盘点
*
* @param warehouseInventoryCheck 仓库库存盘点
* @return 结果
*/
@Override
public int updateWarehouseInventoryCheck(WarehouseInventoryCheck warehouseInventoryCheck)
{
String loginName = ShiroUtils.getLoginName();
warehouseInventoryCheck.setUpdateBy(loginName);
warehouseInventoryCheck.setUpdateTime(DateUtils.getNowDate());
return warehouseInventoryCheckMapper.updateWarehouseInventoryCheck(warehouseInventoryCheck);
}
/**
*库存盘点单号生成规则
*系统自动生成按照特定编码编码暂用KCPD+年月日+001
*自增长:KCPD20231111001KCPD20231111002
*
*/
public static String generateCode(String prefix, String maxCode){
if (StringUtils.isEmpty(maxCode)){
return prefix + "001";
}
//解析并递增编号
int sequence = Integer.parseInt(maxCode.substring(4)) + 1;
//检查序列号是否溢出
if (sequence > 999){
throw new BusinessException("当前编号已达到最大值999,请检查或调整策略");
}
//格式化序列号,自动补零至三位
DecimalFormat df = new DecimalFormat("000");
return prefix + df.format(sequence);
}
}

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); return warehouseInventoryInquiryMapper.restoreWarehouseInventoryInquiryById(inventoryInquiryId);
} }
/*
* 根据物料号查询库存查询信息
* */
@Override
public WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo) {
return warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
}
} }

140
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryCheckDetailMapper.xml

@ -0,0 +1,140 @@
<?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.WarehouseInventoryCheckDetailMapper">
<resultMap type="WarehouseInventoryCheckDetail" id="WarehouseInventoryCheckDetailResult">
<result property="inventoryCheckDetailId" column="inventory_check_detail_id" />
<result property="inventoryCheckCode" column="inventory_check_code" />
<result property="inventoryCheckName" column="inventory_check_name" />
<result property="materialNo" column="material_no" />
<result property="materialName" column="material_name" />
<result property="materialUnit" column="material_unit" />
<result property="materialDescribe" column="material_describe" />
<result property="inventoryCheckNum" column="inventory_check_num" />
<result property="inventoryAccountNum" column="inventory_account_num" />
<result property="warehouseStoreAddress" column="warehouse_store_address" />
<result property="batchNumber" column="batch_number" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="inventoryCheckDate" column="inventory_check_date" />
<result property="materialTotal" column="material_total" />
<result property="numTotal" column="num_total" />
<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="selectWarehouseInventoryCheckDetailVo">
select inventory_check_detail_id, inventory_check_code, inventory_check_name, material_no, material_name, material_unit, material_describe, inventory_check_num, inventory_account_num, warehouse_store_address, batch_number, warehouse_code, warehouse_name, inventory_check_date, material_total, num_total, remark, create_time, create_by, update_by, update_time from warehouse_inventory_check_detail
</sql>
<select id="selectWarehouseInventoryCheckDetailList" parameterType="WarehouseInventoryCheckDetail" resultMap="WarehouseInventoryCheckDetailResult">
<include refid="selectWarehouseInventoryCheckDetailVo"/>
<where>
</where>
</select>
<select id="selectWarehouseInventoryCheckDetailById" parameterType="Long" resultMap="WarehouseInventoryCheckDetailResult">
<include refid="selectWarehouseInventoryCheckDetailVo"/>
where inventory_check_detail_id = #{inventoryCheckDetailId}
</select>
<insert id="insertWarehouseInventoryCheckDetail" parameterType="WarehouseInventoryCheckDetail" useGeneratedKeys="true" keyProperty="inventoryCheckDetailId">
insert into warehouse_inventory_check_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="inventoryCheckCode != null">inventory_check_code,</if>
<if test="inventoryCheckName != null">inventory_check_name,</if>
<if test="materialNo != null">material_no,</if>
<if test="materialName != null">material_name,</if>
<if test="materialUnit != null">material_unit,</if>
<if test="materialDescribe != null">material_describe,</if>
<if test="inventoryCheckNum != null">inventory_check_num,</if>
<if test="inventoryAccountNum != null">inventory_account_num,</if>
<if test="warehouseStoreAddress != null">warehouse_store_address,</if>
<if test="batchNumber != null">batch_number,</if>
<if test="warehouseCode != null">warehouse_code,</if>
<if test="warehouseName != null">warehouse_name,</if>
<if test="inventoryCheckDate != null">inventory_check_date,</if>
<if test="materialTotal != null">material_total,</if>
<if test="numTotal != null">num_total,</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="inventoryCheckCode != null">#{inventoryCheckCode},</if>
<if test="inventoryCheckName != null">#{inventoryCheckName},</if>
<if test="materialNo != null">#{materialNo},</if>
<if test="materialName != null">#{materialName},</if>
<if test="materialUnit != null">#{materialUnit},</if>
<if test="materialDescribe != null">#{materialDescribe},</if>
<if test="inventoryCheckNum != null">#{inventoryCheckNum},</if>
<if test="inventoryAccountNum != null">#{inventoryAccountNum},</if>
<if test="warehouseStoreAddress != null">#{warehouseStoreAddress},</if>
<if test="batchNumber != null">#{batchNumber},</if>
<if test="warehouseCode != null">#{warehouseCode},</if>
<if test="warehouseName != null">#{warehouseName},</if>
<if test="inventoryCheckDate != null">#{inventoryCheckDate},</if>
<if test="materialTotal != null">#{materialTotal},</if>
<if test="numTotal != null">#{numTotal},</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="updateWarehouseInventoryCheckDetail" parameterType="WarehouseInventoryCheckDetail">
update warehouse_inventory_check_detail
<trim prefix="SET" suffixOverrides=",">
<if test="inventoryCheckCode != null">inventory_check_code = #{inventoryCheckCode},</if>
<if test="inventoryCheckName != null">inventory_check_name = #{inventoryCheckName},</if>
<if test="materialNo != null">material_no = #{materialNo},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="materialUnit != null">material_unit = #{materialUnit},</if>
<if test="materialDescribe != null">material_describe = #{materialDescribe},</if>
<if test="inventoryCheckNum != null">inventory_check_num = #{inventoryCheckNum},</if>
<if test="inventoryAccountNum != null">inventory_account_num = #{inventoryAccountNum},</if>
<if test="warehouseStoreAddress != null">warehouse_store_address = #{warehouseStoreAddress},</if>
<if test="batchNumber != null">batch_number = #{batchNumber},</if>
<if test="warehouseCode != null">warehouse_code = #{warehouseCode},</if>
<if test="warehouseName != null">warehouse_name = #{warehouseName},</if>
<if test="inventoryCheckDate != null">inventory_check_date = #{inventoryCheckDate},</if>
<if test="materialTotal != null">material_total = #{materialTotal},</if>
<if test="numTotal != null">num_total = #{numTotal},</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_check_detail_id = #{inventoryCheckDetailId}
</update>
<delete id="deleteWarehouseInventoryCheckDetailById" parameterType="Long">
delete from warehouse_inventory_check_detail where inventory_check_detail_id = #{inventoryCheckDetailId}
</delete>
<delete id="deleteWarehouseInventoryCheckDetailByIds" parameterType="String">
delete from warehouse_inventory_check_detail where inventory_check_detail_id in
<foreach item="inventoryCheckDetailId" collection="array" open="(" separator="," close=")">
#{inventoryCheckDetailId}
</foreach>
</delete>
<update id="cancelWarehouseInventoryCheckDetailById" parameterType="Long">
update warehouse_inventory_check_detail set del_flag = '1' where inventory_check_detail_id = #{inventoryCheckDetailId}
</update>
<update id="restoreWarehouseInventoryCheckDetailById" parameterType="Long">
update warehouse_inventory_check_detail set del_flag = '0' where inventory_check_detail_id = #{inventoryCheckDetailId}
</update>
</mapper>

127
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryCheckMapper.xml

@ -0,0 +1,127 @@
<?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.WarehouseInventoryCheckMapper">
<resultMap type="WarehouseInventoryCheck" id="WarehouseInventoryCheckResult">
<result property="inventoryCheckId" column="inventory_check_id" />
<result property="inventoryCheckCode" column="inventory_check_code" />
<result property="inventoryCheckName" column="inventory_check_name" />
<result property="materialNo" column="material_no" />
<result property="materialName" column="material_name" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="inventoryCheckDate" column="inventory_check_date" />
<result property="materialTotal" column="material_total" />
<result property="numTotal" column="num_total" />
<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="selectWarehouseInventoryCheckVo">
select inventory_check_id, inventory_check_code, inventory_check_name, material_no, material_name, warehouse_code, warehouse_name, inventory_check_date, material_total, num_total, remark, create_time, create_by, update_by, update_time from warehouse_inventory_check
</sql>
<select id="selectWarehouseInventoryCheckList" parameterType="WarehouseInventoryCheck" resultMap="WarehouseInventoryCheckResult">
<include refid="selectWarehouseInventoryCheckVo"/>
<where>
<if test="inventoryCheckCode != null and inventoryCheckCode != ''"> and inventory_check_code = #{inventoryCheckCode}</if>
<if test="materialNo != null and materialNo != ''"> and material_no = #{materialNo}</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="warehouseCode != null and warehouseCode != ''"> and warehouse_code = #{warehouseCode}</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
<if test="params.beginInventoryCheckDate != null and params.beginInventoryCheckDate != '' and params.endInventoryCheckDate != null and params.endInventoryCheckDate != ''"> and inventory_check_date between #{params.beginInventoryCheckDate} and #{params.endInventoryCheckDate}</if>
</where>
</select>
<select id="selectWarehouseInventoryCheckById" parameterType="Long" resultMap="WarehouseInventoryCheckResult">
<include refid="selectWarehouseInventoryCheckVo"/>
where inventory_check_id = #{inventoryCheckId}
</select>
<insert id="insertWarehouseInventoryCheck" parameterType="WarehouseInventoryCheck" useGeneratedKeys="true" keyProperty="inventoryCheckId">
insert into warehouse_inventory_check
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="inventoryCheckCode != null">inventory_check_code,</if>
<if test="inventoryCheckName != null">inventory_check_name,</if>
<if test="materialNo != null">material_no,</if>
<if test="materialName != null">material_name,</if>
<if test="warehouseCode != null">warehouse_code,</if>
<if test="warehouseName != null">warehouse_name,</if>
<if test="inventoryCheckDate != null">inventory_check_date,</if>
<if test="materialTotal != null">material_total,</if>
<if test="numTotal != null">num_total,</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="inventoryCheckCode != null">#{inventoryCheckCode},</if>
<if test="inventoryCheckName != null">#{inventoryCheckName},</if>
<if test="materialNo != null">#{materialNo},</if>
<if test="materialName != null">#{materialName},</if>
<if test="warehouseCode != null">#{warehouseCode},</if>
<if test="warehouseName != null">#{warehouseName},</if>
<if test="inventoryCheckDate != null">#{inventoryCheckDate},</if>
<if test="materialTotal != null">#{materialTotal},</if>
<if test="numTotal != null">#{numTotal},</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="updateWarehouseInventoryCheck" parameterType="WarehouseInventoryCheck">
update warehouse_inventory_check
<trim prefix="SET" suffixOverrides=",">
<if test="inventoryCheckCode != null">inventory_check_code = #{inventoryCheckCode},</if>
<if test="inventoryCheckName != null">inventory_check_name = #{inventoryCheckName},</if>
<if test="materialNo != null">material_no = #{materialNo},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="warehouseCode != null">warehouse_code = #{warehouseCode},</if>
<if test="warehouseName != null">warehouse_name = #{warehouseName},</if>
<if test="inventoryCheckDate != null">inventory_check_date = #{inventoryCheckDate},</if>
<if test="materialTotal != null">material_total = #{materialTotal},</if>
<if test="numTotal != null">num_total = #{numTotal},</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_check_id = #{inventoryCheckId}
</update>
<delete id="deleteWarehouseInventoryCheckById" parameterType="Long">
delete from warehouse_inventory_check where inventory_check_id = #{inventoryCheckId}
</delete>
<delete id="deleteWarehouseInventoryCheckByIds" parameterType="String">
delete from warehouse_inventory_check where inventory_check_id in
<foreach item="inventoryCheckId" collection="array" open="(" separator="," close=")">
#{inventoryCheckId}
</foreach>
</delete>
<update id="cancelWarehouseInventoryCheckById" parameterType="Long">
update warehouse_inventory_check set del_flag = '1' where inventory_check_id = #{inventoryCheckId}
</update>
<update id="restoreWarehouseInventoryCheckById" parameterType="Long">
update warehouse_inventory_check set del_flag = '0' where inventory_check_id = #{inventoryCheckId}
</update>
<select id="findMaxRoundCode" resultType="String">
select max(substring(inventory_check_code,9)) from warehouse_inventory_check where inventory_check_code like concat(#{prefix},'%')
</select>
</mapper>

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"/> <include refid="selectWarehouseInventoryInquiryVo"/>
where inventory_inquiry_id = #{inventoryInquiryId} where inventory_inquiry_id = #{inventoryInquiryId}
</select> </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 id="insertWarehouseInventoryInquiry" parameterType="WarehouseInventoryInquiry" useGeneratedKeys="true" keyProperty="inventoryInquiryId">
insert into warehouse_inventory_inquiry insert into warehouse_inventory_inquiry
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

66
ruoyi-admin/src/main/resources/templates/warehouse/inventoryCheck/add.html

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增仓库库存盘点')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-inventoryCheck-add">
<div class="form-group">
<label class="col-sm-3 control-label">库存盘点人名:</label>
<div class="col-sm-8">
<input name="inventoryCheckName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库号:</label>
<div class="col-sm-8">
<input name="warehouseCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="warehouseName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">库存盘点日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="inventoryCheckDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注内容:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "warehouse/inventoryCheck"
$("#form-inventoryCheck-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-inventoryCheck-add').serialize());
}
}
$("input[name='inventoryCheckDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

97
ruoyi-admin/src/main/resources/templates/warehouse/inventoryCheck/edit.html

@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改仓库库存盘点')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-inventoryCheck-edit" th:object="${warehouseInventoryCheck}">
<input name="inventoryCheckId" th:field="*{inventoryCheckId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">库存盘点单号:</label>
<div class="col-sm-8">
<input name="inventoryCheckCode" th:field="*{inventoryCheckCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">库存盘点人名:</label>
<div class="col-sm-8">
<input name="inventoryCheckName" th:field="*{inventoryCheckName}" class="form-control" type="text">
</div>
</div>
<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">
</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">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库号:</label>
<div class="col-sm-8">
<input name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="warehouseName" th:field="*{warehouseName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">库存盘点日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="inventoryCheckDate" th:value="${#dates.format(warehouseInventoryCheck.inventoryCheckDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料数合计:</label>
<div class="col-sm-8">
<input name="materialTotal" th:field="*{materialTotal}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量合计:</label>
<div class="col-sm-8">
<input name="numTotal" th:field="*{numTotal}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注内容:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control">[[*{remark}]]</textarea>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "warehouse/inventoryCheck";
$("#form-inventoryCheck-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-inventoryCheck-edit').serialize());
}
}
$("input[name='inventoryCheckDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

169
ruoyi-admin/src/main/resources/templates/warehouse/inventoryCheck/inventoryCheck.html

@ -0,0 +1,169 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('仓库库存盘点列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>库存盘点单号:</label>
<input type="text" name="inventoryCheckCode"/>
</li>
<li>
<label>料号:</label>
<input type="text" name="materialNo"/>
</li>
<li>
<label>物料名称:</label>
<input type="text" name="materialName"/>
</li>
<li>
<label>仓库号:</label>
<input type="text" name="warehouseCode"/>
</li>
<li>
<label>仓库名称:</label>
<input type="text" name="warehouseName"/>
</li>
<li class="select-time">
<label>库存盘点日期:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginInventoryCheckDate]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endInventoryCheckDate]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="warehouse:inventoryCheck:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="warehouse:inventoryCheck:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="warehouse:inventoryCheck:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="warehouse:inventoryCheck:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('warehouse:inventoryCheck:edit')}]];
var removeFlag = [[${@permission.hasPermi('warehouse:inventoryCheck:remove')}]];
var cancelFlag = [[${@permission.hasPermi('warehouse:inventoryCheck:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('warehouse:inventoryCheck:restore')}]];
var prefix = ctx + "warehouse/inventoryCheck";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
modalName: "仓库库存盘点",
columns: [{
checkbox: true
},
{
title: '库存盘点ID',
field: 'inventoryCheckId',
visible: false
},
{
title: '库存盘点单号',
field: 'inventoryCheckCode',
},
{
title: '库存盘点人名',
field: 'inventoryCheckName',
},
{
title: '料号',
field: 'materialNo',
},
{
title: '物料名称',
field: 'materialName',
},
{
title: '仓库号',
field: 'warehouseCode',
},
{
title: '仓库名称',
field: 'warehouseName',
},
{
title: '库存盘点日期',
field: 'inventoryCheckDate',
},
{
title: '物料数合计',
field: 'materialTotal',
},
{
title: '数量合计',
field: 'numTotal',
},
{
title: '备注内容',
field: 'remark',
},
{
title: '录入时间',
field: 'createTime',
},
{
title: '录入人',
field: 'createBy',
},
{
title: '更新人',
field: 'updateBy',
},
{
title: '上次更新时间',
field: 'updateTime',
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.inventoryCheckId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.inventoryCheckId + '\')"><i class="fa fa-remove"></i>删除</a> ');
if(row.delFlag == '0'){
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i>作废</a> ');
}else{
actions.push('<a class="btn btn-success btn-xs ' + restoreFlag + '" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i>恢复</a> ');
}
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

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>
<div class="btn-group-sm" id="toolbar" role="group"> <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"> <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="warehouse:inventoryInquiry:export">
<i class="fa fa-download"></i> 导出 <i class="fa fa-download"></i> 导出
</a> </a>
@ -165,6 +168,20 @@
}; };
$.table.init(options); $.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> </script>
</body> </body>
</html> </html>
Loading…
Cancel
Save