Commit 8c7bd9143f75ef085c36f11b95c8627160706ba8

Authored by 肖超群
1 parent a4e4cdf2

通过物料编码在库存查看界面查询库存

ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
... ... @@ -20,11 +20,16 @@
20 20 <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input>
21 21 </a-form-item>
22 22 </a-col>
23   - <a-col :xl="6" :lg="7" :md="8" :sm="24">
24   - <a-form-item label="容器编码">
25   - <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input>
26   - </a-form-item>
27   - </a-col>
  23 + <a-col :xl="6" :lg="7" :md="8" :sm="24">
  24 + <a-form-item label="物料编码">
  25 + <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input>
  26 + </a-form-item>
  27 + </a-col>
  28 + <a-col :xl="6" :lg="7" :md="8" :sm="24">
  29 + <a-form-item label="容器编码">
  30 + <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input>
  31 + </a-form-item>
  32 + </a-col>
28 33 <a-col :xl="6" :lg="7" :md="8" :sm="24">
29 34 <a-form-item label="容器状态">
30 35 <j-dict-select-tag placeholder="请选择容器状态" v-model="queryParam.containerStatus"
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
... ... @@ -196,8 +196,12 @@ public class ContainerServiceImpl extends ServiceImpl&lt;ContainerMapper, Container
196 196 .eq(StringUtils.isNotEmpty(container.getCode()), Container::getCode, container.getCode())
197 197 .eq(StringUtils.isNotEmpty(container.getLocationCode()), Container::getLocationCode, container.getLocationCode());
198 198 List<Container> list = this.list(lambdaQueryWrapper);
199   - list.addAll(containerList);
200   - return list;
  199 + if (containerList.size() != 0) {
  200 + containerList.addAll(list);
  201 + return containerList;
  202 + } else {
  203 + return list;
  204 + }
201 205 }
202 206  
203 207 private int getStartNumber(String containerTypeCode, String warehouseCode) {
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java
... ... @@ -43,6 +43,7 @@ import org.springframework.web.servlet.ModelAndView;
43 43 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
44 44 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
45 45 import com.baomidou.mybatisplus.core.metadata.IPage;
  46 +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
46 47 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
47 48 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
48 49  
... ... @@ -86,13 +87,14 @@ public class InventoryHeaderController extends JeecgController&lt;InventoryHeader,
86 87 public Result<IPage<InventoryHeader>> queryPageList(InventoryHeader inventoryHeader, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
87 88 @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
88 89 HuahengJwtUtil.setWarehouseCode(req, inventoryHeader);
  90 + String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req);
89 91 String realName = HuahengJwtUtil.getCurrentOperator();
  92 + String materialCode = inventoryHeader.getMaterialCode();
90 93 String inventoryHeaderZoneCode = inventoryHeader.getZoneCode();
91 94 LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
92 95 QueryWrapper<InventoryHeader> queryWrapper = QueryGenerator.initQueryWrapper(inventoryHeader, req.getParameterMap());
93 96 queryWrapper.orderByDesc("id");
94   - Page<InventoryHeader> page = new Page<InventoryHeader>(pageNo, pageSize);
95   - IPage<InventoryHeader> pageList = inventoryHeaderService.page(page, queryWrapper);
  97 + inventoryHeaderLambdaQueryWrapper = queryWrapper.lambda();
96 98 if (StringUtils.isEmpty(inventoryHeaderZoneCode)) {
97 99 if (StringUtils.isNotEmpty(realName)) {
98 100 SysUser sysUser = sysUserService.getUserByRealName(realName);
... ... @@ -105,6 +107,19 @@ public class InventoryHeaderController extends JeecgController&lt;InventoryHeader,
105 107 }
106 108 }
107 109 }
  110 + if (StringUtils.isNotEmpty(materialCode)) {
  111 + InventoryDetail inventoryDetail = new InventoryDetail();
  112 + inventoryDetail.setMaterialCode(materialCode);
  113 + List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByMaterialCode(materialCode, warehouseCode);
  114 + if (CollectionUtils.isNotEmpty(inventoryDetailList)) {
  115 + List<String> containerCodeList = inventoryDetailList.stream().distinct().map(InventoryDetail::getContainerCode).collect(Collectors.toList());
  116 + if (CollectionUtils.isNotEmpty(containerCodeList)) {
  117 + inventoryHeaderLambdaQueryWrapper.in(InventoryHeader::getContainerCode, containerCodeList);
  118 + }
  119 + }
  120 + }
  121 + Page<InventoryHeader> page = new Page<InventoryHeader>(pageNo, pageSize);
  122 + IPage<InventoryHeader> pageList = inventoryHeaderService.page(page, queryWrapper);
108 123 return Result.OK(pageList);
109 124 }
110 125  
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java
... ... @@ -74,6 +74,10 @@ public class InventoryHeader implements Serializable {
74 74 @Excel(name = "总重量", width = 15)
75 75 @ApiModelProperty(value = "总重量")
76 76 private Integer totalWeight;
  77 + /** 物料编码 */
  78 + @TableField(exist = false)
  79 + @ApiModelProperty(value = "物料编码")
  80 + private String materialCode;
77 81 /** 备用字段1 */
78 82 @Excel(name = "备用字段1", width = 15)
79 83 @ApiModelProperty(value = "备用字段1")
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java
... ... @@ -27,6 +27,8 @@ public interface IInventoryDetailService extends IService&lt;InventoryDetail&gt; {
27 27  
28 28 List<InventoryDetail> getInventoryDetailListByContainerCode(String containerCode, String warehouseCode);
29 29  
  30 + List<InventoryDetail> getInventoryDetailListByMaterialCode(String materialCode, String warehouseCode);
  31 +
30 32 // 求一种物料的库存之和(总数)
31 33 BigDecimal getInventorySumQty(InventoryDetail inventoryDetail);
32 34  
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
... ... @@ -89,6 +89,15 @@ public class InventoryDetailServiceImpl extends ServiceImpl&lt;InventoryDetailMappe
89 89 }
90 90  
91 91 @Override
  92 + public List<InventoryDetail> getInventoryDetailListByMaterialCode(String materialCode, String warehouseCode) {
  93 + LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
  94 + inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getMaterialCode, materialCode).eq(InventoryDetail::getWarehouseCode, warehouseCode)
  95 + .eq(InventoryDetail::getEnable, QuantityConstant.INVENTORY_DETAIL_STATUS_ENABLE);
  96 + List<InventoryDetail> inventoryDetailList = list(inventoryDetailLambdaQueryWrapper);
  97 + return inventoryDetailList;
  98 + }
  99 +
  100 + @Override
92 101 public BigDecimal getInventorySumQty(InventoryDetail inventoryDetail) {
93 102 LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
94 103 inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getInventoryStatus, inventoryDetail.getInventoryStatus())
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... ... @@ -1887,6 +1887,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1887 1887 throw new JeecgBootException("快速入库, 生成补充任务时必须有入库口");
1888 1888 }
1889 1889 }
  1890 + if (!receiptHeaderService.updateReceiptHeader(receiptHeader.getId())) {
  1891 + throw new JeecgBootException("快速入库, 更新入库表单头失败");
  1892 + }
1890 1893 return Result.OK("快速入库成功");
1891 1894 }
1892 1895  
... ...