Browse Source

[feat] 库存查询

按照新版prd调整:
新增  修改可用库存前端页面,修改数量加上校验,只能为数字且最小为1,必填
库存查询前端页面:新增 操作栏:新增 修改可用库存按钮,加工方式为生产加工和生产装配不显示该按钮;新增对应的方法;前端列表页面新增共享可用库存数,固定可用库存数,锁定库存数,盘亏数字段
库存查询实体类新增 未占用共享可用库存,修改库存数量,修改类型字段,对应的mapper.xml层所有方法新增 这三个字段
库存查询前端页面新增 修改可用库存接口,改保存可用库存接口;
库存查询impl层新增 显示修改可用库存信息页面满足关联采购订单,未占用共享可用库存:【共享可用库存】-【采购订单-审核中】的【占用共享库存数】;修改可用库存信息方法,分为两个:1, 【共享可用库存】修改为【固定可用库存】:修改类型=增加固定可用库存,则0<【修改数量】 ≤【未占用共享可用库存】,若超过,则自动修改为=【未占用共享可用库存】;2,【固定可用库存】修改为【共享可用库存】修改类型=减少固定可用库存,则0<【修改数量】<【固定可用库存】,若超过,则自动修改为=【固定可用库存】
采购订单新增 通过采购订单编号查询采购订单集合方法
dev
liuxiaoxu 3 months ago
parent
commit
492e366449
  1. 6
      ruoyi-admin/src/main/java/com/ruoyi/purchase/mapper/PurchaseOrderMapper.java
  2. 5
      ruoyi-admin/src/main/java/com/ruoyi/purchase/service/IPurchaseOrderService.java
  3. 9
      ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java
  4. 29
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryInquiryController.java
  5. 37
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryInquiry.java
  6. 10
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryInquiryService.java
  7. 110
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java
  8. 8
      ruoyi-admin/src/main/resources/mapper/purchase/PurchaseOrderMapper.xml
  9. 5
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryDetailMapper.xml
  10. 17
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseInventoryInquiryMapper.xml
  11. 83
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/editAvailableStock.html
  12. 37
      ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html

6
ruoyi-admin/src/main/java/com/ruoyi/purchase/mapper/PurchaseOrderMapper.java

@ -36,6 +36,11 @@ public interface PurchaseOrderMapper
List<PurchaseOrder> selectAllPurchaseOrderList(PurchaseOrder purchaseOrder); List<PurchaseOrder> selectAllPurchaseOrderList(PurchaseOrder purchaseOrder);
/**
* 通过采购订单编号查询采购订单集合
* */
List<PurchaseOrder> selectPurchaseOrderChildListByPurchaseCodeList(List<String> purchaseCodeList);
/** /**
* 通过采购订单号数组查询采购订单集合 * 通过采购订单号数组查询采购订单集合
@ -103,4 +108,5 @@ public interface PurchaseOrderMapper
//校验采购订单编号是否唯一 //校验采购订单编号是否唯一
public Integer checkPurchaseOrderCodeUnique(String purchaseOrderCode); public Integer checkPurchaseOrderCodeUnique(String purchaseOrderCode);
} }

5
ruoyi-admin/src/main/java/com/ruoyi/purchase/service/IPurchaseOrderService.java

@ -125,4 +125,9 @@ public interface IPurchaseOrderService
int addPurchaseStorageSave(PurchaseOrder purchaseOrder); int addPurchaseStorageSave(PurchaseOrder purchaseOrder);
int detailSave(PurchaseOrder purchaseOrder); int detailSave(PurchaseOrder purchaseOrder);
/**
* 通过采购订单号集合查询采购订单集合
* */
List<PurchaseOrder> selectPurchaseOrderChildListByPurchaseCodeList(List<String> purchaseCodeList);
} }

9
ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java

@ -252,6 +252,15 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService
return purchaseOrderList; return purchaseOrderList;
} }
/**
* 通过采购订单号集合查询采购订单集合
* */
@Override
public List<PurchaseOrder> selectPurchaseOrderChildListByPurchaseCodeList(List<String> purchaseCodeList) {
List<PurchaseOrder> purchaseOrderList = purchaseOrderMapper.selectPurchaseOrderChildListByPurchaseCodeList(purchaseCodeList);
return purchaseOrderList;
}
/** /**
* 通过采购订单号数组查询采购订单集合 * 通过采购订单号数组查询采购订单集合
* */ * */

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

@ -1,10 +1,7 @@
package com.ruoyi.warehouse.controller; package com.ruoyi.warehouse.controller;
import java.util.List; import java.util.List;
import com.ruoyi.system.domain.OutsourceQuoteChild;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiryDetail; import com.ruoyi.warehouse.domain.WarehouseInventoryInquiryDetail;
import com.ruoyi.warehouse.domain.WarehouseInventoryReportDamage;
import com.ruoyi.warehouse.service.IWarehouseInventoryInquiryDetailService; 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;
@ -163,4 +160,30 @@ public class WarehouseInventoryInquiryController extends BaseController
return getDataTable(list); return getDataTable(list);
} }
/**
* 修改可用库存
* */
@GetMapping("/editAvailableStock/{inventoryInquiryId}")
public String editAvailableStock(@PathVariable("inventoryInquiryId") Long inventoryInquiryId, ModelMap mmap)
{
WarehouseInventoryInquiry warehouseInventoryInquiry = warehouseInventoryInquiryService.showEditAvailableStock(inventoryInquiryId);
mmap.put("warehouseInventoryInquiry", warehouseInventoryInquiry);
return prefix + "/editAvailableStock";
}
/**
* 修改保存可用库存
*/
@RequiresPermissions("warehouse:inventoryInquiry:editAvailableStock")
@Log(title = "仓库库存查询", businessType = BusinessType.UPDATE)
@PostMapping("/editAvailableStock")
@ResponseBody
public AjaxResult editAvailableStockSave(WarehouseInventoryInquiry warehouseInventoryInquiry)
{
return toAjax(warehouseInventoryInquiryService.updateAvailableStock(warehouseInventoryInquiry));
}
} }

37
ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryInquiry.java

@ -85,6 +85,16 @@ public class WarehouseInventoryInquiry extends BaseEntity
@Excel(name = "可用库存数", sort = 9) @Excel(name = "可用库存数", sort = 9)
private Integer availableStockNum; private Integer availableStockNum;
/** 未占用共享可用库存*/
private Integer noOccupancyNum;
/** 修改库存数量*/
private Integer editStockNum;
/** 修改类型(0增加固定可用库存、1减少固定可用库存)*/
private String inventoryEditType;
/** 物料归属可用库存数 */ /** 物料归属可用库存数 */
// @Excel(name = "物料归属可用库存数") // @Excel(name = "物料归属可用库存数")
private Integer attributionAvailableStockNum; private Integer attributionAvailableStockNum;
@ -262,6 +272,30 @@ public class WarehouseInventoryInquiry extends BaseEntity
this.availableStockNum = availableStockNum; this.availableStockNum = availableStockNum;
} }
public Integer getNoOccupancyNum() {
return noOccupancyNum;
}
public void setNoOccupancyNum(Integer noOccupancyNum) {
this.noOccupancyNum = noOccupancyNum;
}
public Integer getEditStockNum() {
return editStockNum;
}
public void setEditStockNum(Integer editStockNum) {
this.editStockNum = editStockNum;
}
public String getInventoryEditType() {
return inventoryEditType;
}
public void setInventoryEditType(String inventoryEditType) {
this.inventoryEditType = inventoryEditType;
}
public Integer getAttributionAvailableStockNum() { public Integer getAttributionAvailableStockNum() {
return attributionAvailableStockNum; return attributionAvailableStockNum;
} }
@ -352,6 +386,9 @@ public class WarehouseInventoryInquiry extends BaseEntity
.append("lockStockNum", getLockStockNum()) .append("lockStockNum", getLockStockNum())
.append("stockLossesNum", getStockLossesNum()) .append("stockLossesNum", getStockLossesNum())
.append("availableStockNum", getAvailableStockNum()) .append("availableStockNum", getAvailableStockNum())
.append("noOccupancyNum", getNoOccupancyNum())
.append("editStockNum", getEditStockNum())
.append("inventoryEditType", getInventoryEditType())
.append("attributionAvailableStockNum", getAttributionAvailableStockNum()) .append("attributionAvailableStockNum", getAttributionAvailableStockNum())
.append("noattributionAvailableStockNum", getNoattributionAvailableStockNum()) .append("noattributionAvailableStockNum", getNoattributionAvailableStockNum())
.append("useNum", getUseNum()) .append("useNum", getUseNum())

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

@ -79,4 +79,14 @@ public interface IWarehouseInventoryInquiryService
* 根据物料号查询库存查询信息 * 根据物料号查询库存查询信息
* */ * */
public WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo); public WarehouseInventoryInquiry selectWarehouseInventoryInquiryByMaterialNo(String materialNo);
/**
* 修改可用库存信息
* */
int updateAvailableStock(WarehouseInventoryInquiry warehouseInventoryInquiry);
/**
* 显示修改可用库存信息页面
* */
WarehouseInventoryInquiry showEditAvailableStock(Long inventoryInquiryId);
} }

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

@ -1,8 +1,16 @@
package com.ruoyi.warehouse.service.impl; package com.ruoyi.warehouse.service.impl;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.purchase.domain.PurchaseOrder;
import com.ruoyi.purchase.mapper.PurchaseOrderMapper;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiryDetail;
import com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryDetailMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryMapper; import com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryMapper;
@ -22,6 +30,14 @@ public class WarehouseInventoryInquiryServiceImpl implements IWarehouseInventory
@Autowired @Autowired
private WarehouseInventoryInquiryMapper warehouseInventoryInquiryMapper; private WarehouseInventoryInquiryMapper warehouseInventoryInquiryMapper;
@Autowired
private WarehouseInventoryInquiryDetailMapper warehouseInventoryInquiryDetailMapper;
@Autowired
private PurchaseOrderMapper purchaseOrderMapper;
/** /**
* 查询仓库库存查询 * 查询仓库库存查询
* *
@ -137,4 +153,98 @@ public class WarehouseInventoryInquiryServiceImpl implements IWarehouseInventory
return warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); return warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
} }
/**
* 修改可用库存信息
* @param warehouseInventoryInquiry
* @return
*/
@Override
public int updateAvailableStock(WarehouseInventoryInquiry warehouseInventoryInquiry) {
if (StringUtils.isEmpty(warehouseInventoryInquiry.getInventoryEditType())){
throw new BusinessException("请选择修改类型");
}
Long inventoryInquiryId = warehouseInventoryInquiry.getInventoryInquiryId();
WarehouseInventoryInquiry oldWarehouseInventoryInquiry = warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryById(inventoryInquiryId);
if (warehouseInventoryInquiry.getInventoryEditType().equals("0")){
//增加固定可用库存 【共享可用库存】修改为【固定可用库存】
Integer editStockNum = warehouseInventoryInquiry.getEditStockNum();
Integer noOccupancyNum = warehouseInventoryInquiry.getNoOccupancyNum();
Integer fixedAvailableStockNum = warehouseInventoryInquiry.getFixedAvailableStockNum();
Integer sharedAvailableStockNum = oldWarehouseInventoryInquiry.getSharedAvailableStockNum();
if (editStockNum > noOccupancyNum){
editStockNum = sharedAvailableStockNum;
fixedAvailableStockNum += editStockNum;
sharedAvailableStockNum = 0;
}else {
sharedAvailableStockNum -= editStockNum;
fixedAvailableStockNum += editStockNum;
}
warehouseInventoryInquiry.setFixedAvailableStockNum(fixedAvailableStockNum);
warehouseInventoryInquiry.setSharedAvailableStockNum(sharedAvailableStockNum);
}else {
//减少固定可用库存 【固定可用库存】修改为【共享可用库存】
Integer editStockNum = warehouseInventoryInquiry.getEditStockNum();
Integer fixedAvailableStockNum = warehouseInventoryInquiry.getFixedAvailableStockNum();
Integer sharedAvailableStockNum = oldWarehouseInventoryInquiry.getSharedAvailableStockNum();
if (editStockNum > fixedAvailableStockNum){
editStockNum = fixedAvailableStockNum;
sharedAvailableStockNum += editStockNum;
fixedAvailableStockNum = 0;
}else {
fixedAvailableStockNum -= editStockNum;
sharedAvailableStockNum += editStockNum;
}
warehouseInventoryInquiry.setFixedAvailableStockNum(fixedAvailableStockNum);
warehouseInventoryInquiry.setSharedAvailableStockNum(sharedAvailableStockNum);
}
return warehouseInventoryInquiryMapper.updateWarehouseInventoryInquiry(warehouseInventoryInquiry);
}
/**
* 显示修改可用库存信息
* @param inventoryInquiryId
* @return
*/
@Override
public WarehouseInventoryInquiry showEditAvailableStock(Long inventoryInquiryId) {
WarehouseInventoryInquiry warehouseInventoryInquiry = warehouseInventoryInquiryMapper.selectWarehouseInventoryInquiryById(inventoryInquiryId);
String materialNo = warehouseInventoryInquiry.getMaterialNo();
List<WarehouseInventoryInquiryDetail> warehouseInventoryInquiryDetails = warehouseInventoryInquiryDetailMapper.selectWarehouseInventoryInquiryDetailByMaterialNo(materialNo);
//只保留采购订单
List<WarehouseInventoryInquiryDetail> filterInventoryInquiryDetails = warehouseInventoryInquiryDetails.stream().filter(item -> "0".equals(item.getInquiryBusinessType())).collect(Collectors.toList());
List<String> purchaseCodeList = filterInventoryInquiryDetails.stream().map(WarehouseInventoryInquiryDetail::getCorrelationCode).collect(Collectors.toList());
List<PurchaseOrder> purchaseOrders = purchaseOrderMapper.selectPurchaseOrderChildListByPurchaseCodeList(purchaseCodeList);
//审核中的采购订单
List<PurchaseOrder> filterPurchaseOrders = purchaseOrders.stream().filter(item -> "0".equals(item.getAuditStatus())).collect(Collectors.toList());
int sharedInventoryOccupancySum = filterPurchaseOrders.stream().mapToInt(PurchaseOrder::getSharedInventoryOccupancySum).sum();
Integer sharedAvailableStockNum = warehouseInventoryInquiry.getSharedAvailableStockNum();
Integer noOccupancyNum = 0;
if (sharedAvailableStockNum != null && sharedAvailableStockNum > sharedInventoryOccupancySum){
noOccupancyNum = sharedAvailableStockNum - sharedInventoryOccupancySum;
}else {
noOccupancyNum = 0;
}
warehouseInventoryInquiry.setNoOccupancyNum(noOccupancyNum);
return warehouseInventoryInquiry;
}
} }

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

@ -93,6 +93,14 @@
WHERE purchase_order_code = #{purchaseOrderCode} WHERE purchase_order_code = #{purchaseOrderCode}
</select> </select>
<select id="selectPurchaseOrderChildListByPurchaseCodeList" parameterType="String" resultMap="PurchaseOrderResult">
<include refid="selectPurchaseOrderVo"/>
where purchase_order_code in
<foreach collection="list" item="purchaseOrderCode" open="(" separator="," close=")">
#{purchaseOrderCode}
</foreach>
</select>
<insert id="insertPurchaseOrder" parameterType="PurchaseOrder" useGeneratedKeys="true" keyProperty="purchaseOrderId"> <insert id="insertPurchaseOrder" parameterType="PurchaseOrder" useGeneratedKeys="true" keyProperty="purchaseOrderId">
insert into purchase_order insert into purchase_order

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

@ -37,6 +37,11 @@
where inventory_inquiry_detail_id = #{inventoryInquiryDetailId} where inventory_inquiry_detail_id = #{inventoryInquiryDetailId}
</select> </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 id="insertWarehouseInventoryInquiryDetail" parameterType="WarehouseInventoryInquiryDetail" useGeneratedKeys="true" keyProperty="inventoryInquiryDetailId">
insert into warehouse_inventory_inquiry_detail insert into warehouse_inventory_inquiry_detail
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

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

@ -23,6 +23,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="fixedAvailableStockNum" column="fixed_available_stock_num" /> <result property="fixedAvailableStockNum" column="fixed_available_stock_num" />
<result property="stockLossesNum" column="stock_losses_num" /> <result property="stockLossesNum" column="stock_losses_num" />
<result property="availableStockNum" column="available_stock_num" /> <result property="availableStockNum" column="available_stock_num" />
<result property="noOccupancyNum" column="no_occupancy_num" />
<result property="editStockNum" column="edit_stock_num" />
<result property="inventoryEditType" column="inventory_edit_type" />
<result property="attributionAvailableStockNum" column="attribution_available_stock_num" /> <result property="attributionAvailableStockNum" column="attribution_available_stock_num" />
<result property="noattributionAvailableStockNum" column="noattribution_available_stock_num" /> <result property="noattributionAvailableStockNum" column="noattribution_available_stock_num" />
<result property="useNum" column="use_num" /> <result property="useNum" column="use_num" />
@ -39,7 +42,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select inventory_inquiry_id, material_no, material_name, material_type, select inventory_inquiry_id, material_no, material_name, material_type,
material_photoUrl, material_brand, material_unit, material_describe, material_photoUrl, material_brand, material_unit, material_describe,
material_process_method, material_model, material_specification,warehouse_dept, material_process_method, material_model, material_specification,warehouse_dept,
historical_total, shared_available_stock_num, lock_stock_num, fixed_available_stock_num, stock_losses_num,available_stock_num, attribution_available_stock_num, historical_total, shared_available_stock_num, lock_stock_num, fixed_available_stock_num,
stock_losses_num,available_stock_num, attribution_available_stock_num,
no_occupancy_num, inventory_edit_type, edit_stock_num,
noattribution_available_stock_num, use_num, report_damage_num, material_use_status, noattribution_available_stock_num, use_num, report_damage_num, material_use_status,
remark, create_time, create_by, update_by, update_time remark, create_time, create_by, update_by, update_time
from warehouse_inventory_inquiry from warehouse_inventory_inquiry
@ -52,6 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if> <if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if> <if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where> </where>
order by create_time desc
</select> </select>
<select id="selectWarehouseInventoryInquiryById" parameterType="Long" resultMap="WarehouseInventoryInquiryResult"> <select id="selectWarehouseInventoryInquiryById" parameterType="Long" resultMap="WarehouseInventoryInquiryResult">
@ -92,6 +98,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="fixedAvailableStockNum != null">fixed_available_stock_num,</if> <if test="fixedAvailableStockNum != null">fixed_available_stock_num,</if>
<if test="stockLossesNum != null">stock_losses_num,</if> <if test="stockLossesNum != null">stock_losses_num,</if>
<if test="availableStockNum != null">available_stock_num,</if> <if test="availableStockNum != null">available_stock_num,</if>
<if test="noOccupancyNum != null">no_occupancy_num,</if>
<if test="editStockNum != null">edit_stock_num,</if>
<if test="inventoryEditType != null">inventory_edit_type,</if>
<if test="attributionAvailableStockNum != null">attribution_available_stock_num,</if> <if test="attributionAvailableStockNum != null">attribution_available_stock_num,</if>
<if test="noattributionAvailableStockNum != null">noattribution_available_stock_num,</if> <if test="noattributionAvailableStockNum != null">noattribution_available_stock_num,</if>
<if test="useNum != null">use_num,</if> <if test="useNum != null">use_num,</if>
@ -121,6 +130,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="fixedAvailableStockNum != null">#{fixedAvailableStockNum},</if> <if test="fixedAvailableStockNum != null">#{fixedAvailableStockNum},</if>
<if test="stockLossesNum != null">#{stockLossesNum},</if> <if test="stockLossesNum != null">#{stockLossesNum},</if>
<if test="availableStockNum != null">#{availableStockNum},</if> <if test="availableStockNum != null">#{availableStockNum},</if>
<if test="noOccupancyNum != null">#{noOccupancyNum},</if>
<if test="editStockNum != null">#{editStockNum},</if>
<if test="inventoryEditType != null">#{inventoryEditType},</if>
<if test="attributionAvailableStockNum != null">#{attributionAvailableStockNum},</if> <if test="attributionAvailableStockNum != null">#{attributionAvailableStockNum},</if>
<if test="noattributionAvailableStockNum != null">#{noattributionAvailableStockNum},</if> <if test="noattributionAvailableStockNum != null">#{noattributionAvailableStockNum},</if>
<if test="useNum != null">#{useNum},</if> <if test="useNum != null">#{useNum},</if>
@ -154,6 +166,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="fixedAvailableStockNum != null">fixed_available_stock_num = #{fixedAvailableStockNum},</if> <if test="fixedAvailableStockNum != null">fixed_available_stock_num = #{fixedAvailableStockNum},</if>
<if test="stockLossesNum != null">stock_losses_num = #{stockLossesNum},</if> <if test="stockLossesNum != null">stock_losses_num = #{stockLossesNum},</if>
<if test="availableStockNum != null">available_stock_num = #{availableStockNum},</if> <if test="availableStockNum != null">available_stock_num = #{availableStockNum},</if>
<if test="noOccupancyNum != null">no_occupancy_num = #{noOccupancyNum},</if>
<if test="editStockNum != null">edit_stock_num = #{editStockNum},</if>
<if test="inventoryEditType != null">inventory_edit_type = #{inventoryEditType},</if>
<if test="attributionAvailableStockNum != null">attribution_available_stock_num = #{attributionAvailableStockNum},</if> <if test="attributionAvailableStockNum != null">attribution_available_stock_num = #{attributionAvailableStockNum},</if>
<if test="noattributionAvailableStockNum != null">noattribution_available_stock_num = #{noattributionAvailableStockNum},</if> <if test="noattributionAvailableStockNum != null">noattribution_available_stock_num = #{noattributionAvailableStockNum},</if>
<if test="useNum != null">use_num = #{useNum},</if> <if test="useNum != null">use_num = #{useNum},</if>

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

@ -0,0 +1,83 @@
<!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-inventoryInquiry-editAvailableStock" th:object="${warehouseInventoryInquiry}">
<input name="inventoryInquiryId" th:field="*{inventoryInquiryId}" type="hidden">
<div class="form-group">
<label class="col-sm-4 control-label">料号:</label>
<div class="col-sm-8">
<input name="materialNo" th:field="*{materialNo}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">固定可用库存数:</label>
<div class="col-sm-8">
<input name="fixedAvailableStockNum" th:field="*{fixedAvailableStockNum}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">未占用共享可用库存数:</label>
<div class="col-sm-8">
<input name="noOccupancyNum" th:field="*{noOccupancyNum}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required">修改类型:</label>
<div class="col-sm-8">
<select name="inventoryEditType" class="form-control m-b" th:with="type=${@dict.getType('inventory_edit_type')}">
<!-- 默认选项 -->
<option value="" selected="selected">请选择</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{inventoryEditType}" required></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required">修改数量:</label>
<div class="col-sm-8">
<input name="editStockNum" th:field="*{editStockNum}" class="form-control" type="text" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "warehouse/inventoryInquiry";
$("#form-inventoryInquiry-editAvailableStock").validate({
rules: {
editStockNum: {
number: true,
min: 1
},
},
messages: {
editStockNum: {
number: "请输入有效的数字",
min: "修改数量必须大于0"
}
},
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/editAvailableStock", $('#form-inventoryInquiry-editAvailableStock').serialize());
}
}
</script>
</body>
</html>

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

@ -49,6 +49,10 @@
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<script th:inline="javascript"> <script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('warehouse:inventoryInquiry:edit')}]]; var editFlag = [[${@permission.hasPermi('warehouse:inventoryInquiry:edit')}]];
var editAvailableStockFlag = [[${@permission.hasPermi('warehouse:inventoryInquiry:editAvailableStockFlag')}]];
var materialUseStatusDatas = [[${@dict.getType('useStatus')}]]; var materialUseStatusDatas = [[${@dict.getType('useStatus')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var useStatusDatas = [[${@dict.getType('useStatus')}]]; var useStatusDatas = [[${@dict.getType('useStatus')}]];
@ -108,9 +112,13 @@
}, },
{title: '历史总数量', field: 'historicalTotal',}, {title: '历史总数量', field: 'historicalTotal',},
{title: '可用库存数', field: 'availableStockNum',}, {title: '可用库存数', field: 'availableStockNum',},
{title: '有归属可用库存数', field: 'attributionAvailableStockNum',visible: false}, {title: '固定可用库存数', field: 'fixedAvailableStockNum',},
{title: '无归属可用库存数', field: 'noattributionAvailableStockNum',visible: false}, {title: '共享可用库存数', field: 'sharedAvailableStockNum',},
{title: '锁定库存数', field: 'lockStockNum',},
{title: '使用数', field: 'useNum',}, {title: '使用数', field: 'useNum',},
{title: '盘亏数', field: 'stockLossesNum',},
{title: '报损数', field: 'reportDamageNum',}, {title: '报损数', field: 'reportDamageNum',},
{title: '使用状态', field: 'materialUseStatus', {title: '使用状态', field: 'materialUseStatus',
formatter: function(value, row, index) { formatter: function(value, row, index) {
@ -121,13 +129,17 @@
{title: '录入人', field: 'createBy',visible: false}, {title: '录入人', field: 'createBy',visible: false},
{title: '更新人', field: 'updateBy',}, {title: '更新人', field: 'updateBy',},
{title: '上次更新时间', field: 'updateTime',}, {title: '上次更新时间', field: 'updateTime',},
// {title: '操作', align: 'center', {title: '操作', align: 'center',
// formatter: function(value, row, index) { formatter: function(value, row, index) {
// var actions = []; var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.inventoryInquiryId + '\')"><i class="fa fa-edit"></i>编辑</a> '); if (row.materialProcessMethod != 1 && row.materialProcessMethod != 3){
// return actions.join(''); //生产加工和生产装配的不支持转化
// } actions.push('<a class=" ' + editAvailableStockFlag + '" href="javascript:void(0)" onclick="editAvailableStock(\'' + row.inventoryInquiryId + '\')"><i class="fa fa-edit"></i>修改可用库存</a> ');
// } }
var actionLinks = actions.join('');
return $.table.dropdownToggle(actionLinks);
}
}
] ]
}; };
$.table.init(options); $.table.init(options);
@ -167,6 +179,13 @@
}); });
}); });
} }
//修改可用库存
function editAvailableStock(inventoryInquiryId) {
var url = prefix + "/editAvailableStock/" + inventoryInquiryId;
$.modal.open("修改可用库存", url);
}
</script> </script>
</body> </body>
</html> </html>
Loading…
Cancel
Save