Commit 8c7bd9143f75ef085c36f11b95c8627160706ba8
1 parent
a4e4cdf2
通过物料编码在库存查看界面查询库存
Showing
7 changed files
with
51 additions
and
9 deletions
ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
@@ -20,11 +20,16 @@ | @@ -20,11 +20,16 @@ | ||
20 | <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> | 20 | <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> |
21 | </a-form-item> | 21 | </a-form-item> |
22 | </a-col> | 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 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> | 33 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
29 | <a-form-item label="容器状态"> | 34 | <a-form-item label="容器状态"> |
30 | <j-dict-select-tag placeholder="请选择容器状态" v-model="queryParam.containerStatus" | 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<ContainerMapper, Container | @@ -196,8 +196,12 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container | ||
196 | .eq(StringUtils.isNotEmpty(container.getCode()), Container::getCode, container.getCode()) | 196 | .eq(StringUtils.isNotEmpty(container.getCode()), Container::getCode, container.getCode()) |
197 | .eq(StringUtils.isNotEmpty(container.getLocationCode()), Container::getLocationCode, container.getLocationCode()); | 197 | .eq(StringUtils.isNotEmpty(container.getLocationCode()), Container::getLocationCode, container.getLocationCode()); |
198 | List<Container> list = this.list(lambdaQueryWrapper); | 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 | private int getStartNumber(String containerTypeCode, String warehouseCode) { | 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,6 +43,7 @@ import org.springframework.web.servlet.ModelAndView; | ||
43 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 43 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
44 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 44 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
45 | import com.baomidou.mybatisplus.core.metadata.IPage; | 45 | import com.baomidou.mybatisplus.core.metadata.IPage; |
46 | +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; | ||
46 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | 47 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
47 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 48 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
48 | 49 | ||
@@ -86,13 +87,14 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, | @@ -86,13 +87,14 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, | ||
86 | public Result<IPage<InventoryHeader>> queryPageList(InventoryHeader inventoryHeader, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, | 87 | public Result<IPage<InventoryHeader>> queryPageList(InventoryHeader inventoryHeader, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
87 | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { | 88 | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { |
88 | HuahengJwtUtil.setWarehouseCode(req, inventoryHeader); | 89 | HuahengJwtUtil.setWarehouseCode(req, inventoryHeader); |
90 | + String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); | ||
89 | String realName = HuahengJwtUtil.getCurrentOperator(); | 91 | String realName = HuahengJwtUtil.getCurrentOperator(); |
92 | + String materialCode = inventoryHeader.getMaterialCode(); | ||
90 | String inventoryHeaderZoneCode = inventoryHeader.getZoneCode(); | 93 | String inventoryHeaderZoneCode = inventoryHeader.getZoneCode(); |
91 | LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); | 94 | LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); |
92 | QueryWrapper<InventoryHeader> queryWrapper = QueryGenerator.initQueryWrapper(inventoryHeader, req.getParameterMap()); | 95 | QueryWrapper<InventoryHeader> queryWrapper = QueryGenerator.initQueryWrapper(inventoryHeader, req.getParameterMap()); |
93 | queryWrapper.orderByDesc("id"); | 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 | if (StringUtils.isEmpty(inventoryHeaderZoneCode)) { | 98 | if (StringUtils.isEmpty(inventoryHeaderZoneCode)) { |
97 | if (StringUtils.isNotEmpty(realName)) { | 99 | if (StringUtils.isNotEmpty(realName)) { |
98 | SysUser sysUser = sysUserService.getUserByRealName(realName); | 100 | SysUser sysUser = sysUserService.getUserByRealName(realName); |
@@ -105,6 +107,19 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, | @@ -105,6 +107,19 @@ public class InventoryHeaderController extends JeecgController<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 | return Result.OK(pageList); | 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,6 +74,10 @@ public class InventoryHeader implements Serializable { | ||
74 | @Excel(name = "总重量", width = 15) | 74 | @Excel(name = "总重量", width = 15) |
75 | @ApiModelProperty(value = "总重量") | 75 | @ApiModelProperty(value = "总重量") |
76 | private Integer totalWeight; | 76 | private Integer totalWeight; |
77 | + /** 物料编码 */ | ||
78 | + @TableField(exist = false) | ||
79 | + @ApiModelProperty(value = "物料编码") | ||
80 | + private String materialCode; | ||
77 | /** 备用字段1 */ | 81 | /** 备用字段1 */ |
78 | @Excel(name = "备用字段1", width = 15) | 82 | @Excel(name = "备用字段1", width = 15) |
79 | @ApiModelProperty(value = "备用字段1") | 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<InventoryDetail> { | @@ -27,6 +27,8 @@ public interface IInventoryDetailService extends IService<InventoryDetail> { | ||
27 | 27 | ||
28 | List<InventoryDetail> getInventoryDetailListByContainerCode(String containerCode, String warehouseCode); | 28 | List<InventoryDetail> getInventoryDetailListByContainerCode(String containerCode, String warehouseCode); |
29 | 29 | ||
30 | + List<InventoryDetail> getInventoryDetailListByMaterialCode(String materialCode, String warehouseCode); | ||
31 | + | ||
30 | // 求一种物料的库存之和(总数) | 32 | // 求一种物料的库存之和(总数) |
31 | BigDecimal getInventorySumQty(InventoryDetail inventoryDetail); | 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<InventoryDetailMappe | @@ -89,6 +89,15 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe | ||
89 | } | 89 | } |
90 | 90 | ||
91 | @Override | 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 | public BigDecimal getInventorySumQty(InventoryDetail inventoryDetail) { | 101 | public BigDecimal getInventorySumQty(InventoryDetail inventoryDetail) { |
93 | LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | 102 | LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); |
94 | inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getInventoryStatus, inventoryDetail.getInventoryStatus()) | 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<TaskHeaderMapper, TaskHea | @@ -1887,6 +1887,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1887 | throw new JeecgBootException("快速入库, 生成补充任务时必须有入库口"); | 1887 | throw new JeecgBootException("快速入库, 生成补充任务时必须有入库口"); |
1888 | } | 1888 | } |
1889 | } | 1889 | } |
1890 | + if (!receiptHeaderService.updateReceiptHeader(receiptHeader.getId())) { | ||
1891 | + throw new JeecgBootException("快速入库, 更新入库表单头失败"); | ||
1892 | + } | ||
1890 | return Result.OK("快速入库成功"); | 1893 | return Result.OK("快速入库成功"); |
1891 | } | 1894 | } |
1892 | 1895 |