Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mini-wms
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
周海峰
mini-wms
Commits
23d827ff
Commit
23d827ff
authored
Dec 08, 2025
by
wangchunyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
退库、统计相关功能,仓库、库位选择组件
parent
722a2e78
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
1803 行增加
和
1 行删除
+1803
-1
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/ReturnOrderItemsController.java
+105
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/ReturnOrdersController.java
+119
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/StorageLocationsController.java
+11
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/WarehousesController.java
+11
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/ReturnOrderItems.java
+433
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/ReturnOrders.java
+267
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/StorageLocations.java
+8
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/vo/InventorySummaryVO.java
+205
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/ReturnOrderItemsMapper.java
+70
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/ReturnOrdersMapper.java
+95
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/StorageLocationsMapper.java
+7
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IReturnOrderItemsService.java
+62
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IReturnOrdersService.java
+79
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IStorageLocationsService.java
+8
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/ReturnOrderItemsServiceImpl.java
+114
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/ReturnOrdersServiceImpl.java
+171
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/StorageLocationsServiceImpl.java
+11
-0
ruoyi-inventory/src/main/resources/mapper/inventory/ReturnOrderItemsMapper.xml
+0
-0
ruoyi-inventory/src/main/resources/mapper/inventory/ReturnOrdersMapper.xml
+0
-0
ruoyi-inventory/src/main/resources/mapper/inventory/StorageLocationsMapper.xml
+27
-1
没有找到文件。
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/ReturnOrderItemsController.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
controller
;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
import
com.ruoyi.inventory.service.IReturnOrderItemsService
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.core.page.TableDataInfo
;
/**
* 退库单明细Controller
*
* @author ruoyi
* @date 2025-12-03
*/
@RestController
@RequestMapping
(
"/inventory/return_order_items"
)
public
class
ReturnOrderItemsController
extends
BaseController
{
@Autowired
private
IReturnOrderItemsService
returnOrderItemsService
;
/**
* 查询退库单明细列表
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_order_items:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
ReturnOrderItems
returnOrderItems
)
{
startPage
();
List
<
ReturnOrderItems
>
list
=
returnOrderItemsService
.
selectReturnOrderItemsList
(
returnOrderItems
);
return
getDataTable
(
list
);
}
/**
* 导出退库单明细列表
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_order_items:export')"
)
@Log
(
title
=
"退库单明细"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
ReturnOrderItems
returnOrderItems
)
{
List
<
ReturnOrderItems
>
list
=
returnOrderItemsService
.
selectReturnOrderItemsList
(
returnOrderItems
);
ExcelUtil
<
ReturnOrderItems
>
util
=
new
ExcelUtil
<
ReturnOrderItems
>(
ReturnOrderItems
.
class
);
util
.
exportExcel
(
response
,
list
,
"退库单明细数据"
);
}
/**
* 获取退库单明细详细信息
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_order_items:query')"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
String
id
)
{
return
success
(
returnOrderItemsService
.
selectReturnOrderItemsById
(
id
));
}
/**
* 新增退库单明细
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_order_items:add')"
)
@Log
(
title
=
"退库单明细"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
ReturnOrderItems
returnOrderItems
)
{
return
toAjax
(
returnOrderItemsService
.
insertReturnOrderItems
(
returnOrderItems
));
}
/**
* 修改退库单明细
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_order_items:edit')"
)
@Log
(
title
=
"退库单明细"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
ReturnOrderItems
returnOrderItems
)
{
return
toAjax
(
returnOrderItemsService
.
updateReturnOrderItems
(
returnOrderItems
));
}
/**
* 删除退库单明细
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_order_items:remove')"
)
@Log
(
title
=
"退库单明细"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
String
[]
ids
)
{
return
toAjax
(
returnOrderItemsService
.
deleteReturnOrderItemsByIds
(
ids
));
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/ReturnOrdersController.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
controller
;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.enums.BusinessType
;
import
com.ruoyi.inventory.domain.ReturnOrders
;
import
com.ruoyi.inventory.service.IReturnOrdersService
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.core.page.TableDataInfo
;
/**
* 退库单主Controller
*
* @author ruoyi
* @date 2025-12-03
*/
@RestController
@RequestMapping
(
"/inventory/return_orders"
)
public
class
ReturnOrdersController
extends
BaseController
{
@Autowired
private
IReturnOrdersService
returnOrdersService
;
/**
* 查询退库单主列表
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_orders:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
ReturnOrders
returnOrders
)
{
startPage
();
List
<
ReturnOrders
>
list
=
returnOrdersService
.
selectReturnOrdersList
(
returnOrders
);
return
getDataTable
(
list
);
}
/**
* 导出退库单主列表
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_orders:export')"
)
@Log
(
title
=
"退库单主"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
ReturnOrders
returnOrders
)
{
// returnOrders.setOrderStatus(2);//导出退库完成的数据
List
<
ReturnOrders
>
list
=
returnOrdersService
.
selectReturnOrdersList
(
returnOrders
);
ExcelUtil
<
ReturnOrders
>
util
=
new
ExcelUtil
<
ReturnOrders
>(
ReturnOrders
.
class
);
util
.
exportExcel
(
response
,
list
,
"退库单主数据"
);
}
/**
* 获取退库单主详细信息
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_orders:query')"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
String
id
)
{
return
success
(
returnOrdersService
.
selectReturnOrdersById
(
id
));
}
/**
* 新增退库单主
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_orders:add')"
)
@Log
(
title
=
"退库单主"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
ReturnOrders
returnOrders
)
{
return
toAjax
(
returnOrdersService
.
insertReturnOrders
(
returnOrders
));
}
/**
* 修改退库单主
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_orders:edit')"
)
@Log
(
title
=
"退库单主"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
ReturnOrders
returnOrders
)
{
return
toAjax
(
returnOrdersService
.
updateReturnOrders
(
returnOrders
));
}
/**
* 删除退库单主
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_orders:remove')"
)
@Log
(
title
=
"退库单主"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
String
[]
ids
)
{
return
toAjax
(
returnOrdersService
.
deleteReturnOrdersByIds
(
ids
));
}
/**
* 删除退库单主
*/
@PreAuthorize
(
"@ss.hasPermi('inventory:return_orders:confirm')"
)
@Log
(
title
=
"退库确认"
,
businessType
=
BusinessType
.
UPDATE
)
@PostMapping
(
"/confirm/{ids}"
)
public
AjaxResult
confirm
(
@PathVariable
String
[]
ids
)
{
return
toAjax
(
returnOrdersService
.
confirmReturnOrdersByIds
(
ids
));
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/StorageLocationsController.java
View file @
23d827ff
...
...
@@ -113,4 +113,15 @@ public class StorageLocationsController extends BaseController
return
Collections
.
emptyList
();
// 替代new ArrayList<>(),更高效
}
}
/**
* 查询库位列表(无权限限制,用于选择器)
*/
@GetMapping
(
"/listForSelector"
)
public
TableDataInfo
listForSelector
(
StorageLocations
storageLocations
)
{
startPage
();
List
<
StorageLocations
>
list
=
storageLocationsService
.
getStorageLocationsList
(
storageLocations
);
return
getDataTable
(
list
);
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/WarehousesController.java
View file @
23d827ff
...
...
@@ -113,4 +113,15 @@ public class WarehousesController extends BaseController
return
Collections
.
emptyList
();
// 替代new ArrayList<>(),更高效
}
}
/**
* 查询仓库列表(无权限限制,用于选择器)
*/
@GetMapping
(
"/listForSelector"
)
public
TableDataInfo
listForSelector
(
Warehouses
warehouses
)
{
startPage
();
List
<
Warehouses
>
list
=
warehousesService
.
selectWarehousesList
(
warehouses
);
return
getDataTable
(
list
);
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/ReturnOrderItems.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
domain
;
import
lombok.Data
;
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
;
/**
* 退库单明细对象 return_order_items
*
* @author cy
* @date 2025-12-03
*/
@Data
public
class
ReturnOrderItems
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 编号 */
private
String
id
;
/** 退库单号 检索条件 */
@Excel
(
name
=
"退库单号"
)
private
String
orderId
;
/** 货物ID 字典,检索条件 */
@Excel
(
name
=
"货物编码"
)
private
String
materialCode
;
/** 物料名称(关联查询) */
@Excel
(
name
=
"货物名称"
)
private
String
materialName
;
/** 批次ID 检索条件 */
@Excel
(
name
=
"批次"
)
private
String
batchCode
;
/** 仓库ID 检索条件 */
@Excel
(
name
=
"仓库ID"
)
private
String
warehouseId
;
/** 库位ID 检索条件 */
@Excel
(
name
=
"库位ID"
)
private
String
locationId
;
/** 计划数量 */
@Excel
(
name
=
"计划数量"
)
private
Integer
plannedQuantity
;
/** 实际数量 */
@Excel
(
name
=
"实际数量"
)
private
Integer
actualQuantity
;
/** 计划件数 暂无用 */
@Excel
(
name
=
"计划件数"
)
private
Integer
plannedPackages
;
/** 实际件数 暂无用 */
@Excel
(
name
=
"实际件数"
)
private
Integer
actualPackages
;
/** 约数 暂无用 */
@Excel
(
name
=
"约数"
)
private
Double
divisor
;
/** 标签颜色 暂无用 */
@Excel
(
name
=
"标签颜色"
)
private
Integer
labelColor
;
/** 凭证号 暂无用 */
@Excel
(
name
=
"凭证号"
)
private
String
voucherNumber
;
/** 单价 */
@Excel
(
name
=
"单价"
)
private
Double
unitPrice
;
/** 金额,实数乘单价 统计用 */
@Excel
(
name
=
"金额"
)
private
Double
totalAmount
;
/** 应用数据1使用0删除 删除用 */
@Excel
(
name
=
"应用数据"
)
private
Integer
isUsed
;
/** 排序 */
@Excel
(
name
=
"排序"
)
private
Integer
sortNo
;
/** 创建人代码 */
@Excel
(
name
=
"创建人代码"
)
private
String
createUserCode
;
/** 更新人代码 */
@Excel
(
name
=
"更新人代码"
)
private
String
updateUserCode
;
/** 退库日期(关联查询) */
private
java
.
util
.
Date
returnDate
;
/** 货主名称(关联查询) */
private
String
ownerName
;
/** 货物ID 字典,检索条件 */
private
String
materialId
;
/** 仓库名称(关联查询) */
private
String
warehouseName
;
/** 库位名称(关联查询) */
private
String
locationName
;
/** 开始日期(查询条件) */
private
String
startDate
;
/** 结束日期(查询条件) */
private
String
endDate
;
/** 货主ID(查询条件) */
private
String
ownerId
;
/** 退库单ID */
private
String
returnOrderId
;
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getId
()
{
return
id
;
}
public
void
setOrderId
(
String
orderId
)
{
this
.
orderId
=
orderId
;
}
public
String
getOrderId
()
{
return
orderId
;
}
public
void
setMaterialId
(
String
materialId
)
{
this
.
materialId
=
materialId
;
}
public
String
getMaterialId
()
{
return
materialId
;
}
public
void
setBatchCode
(
String
batchCode
)
{
this
.
batchCode
=
batchCode
;
}
public
String
getBatchCode
()
{
return
batchCode
;
}
public
void
setWarehouseId
(
String
warehouseId
)
{
this
.
warehouseId
=
warehouseId
;
}
public
String
getWarehouseId
()
{
return
warehouseId
;
}
public
void
setLocationId
(
String
locationId
)
{
this
.
locationId
=
locationId
;
}
public
String
getLocationId
()
{
return
locationId
;
}
public
void
setPlannedQuantity
(
Integer
plannedQuantity
)
{
this
.
plannedQuantity
=
plannedQuantity
;
}
public
Integer
getPlannedQuantity
()
{
return
plannedQuantity
;
}
public
void
setActualQuantity
(
Integer
actualQuantity
)
{
this
.
actualQuantity
=
actualQuantity
;
}
public
Integer
getActualQuantity
()
{
return
actualQuantity
;
}
public
void
setPlannedPackages
(
Integer
plannedPackages
)
{
this
.
plannedPackages
=
plannedPackages
;
}
public
Integer
getPlannedPackages
()
{
return
plannedPackages
;
}
public
void
setActualPackages
(
Integer
actualPackages
)
{
this
.
actualPackages
=
actualPackages
;
}
public
Integer
getActualPackages
()
{
return
actualPackages
;
}
public
void
setDivisor
(
Double
divisor
)
{
this
.
divisor
=
divisor
;
}
public
Double
getDivisor
()
{
return
divisor
;
}
public
void
setLabelColor
(
Integer
labelColor
)
{
this
.
labelColor
=
labelColor
;
}
public
Integer
getLabelColor
()
{
return
labelColor
;
}
public
void
setVoucherNumber
(
String
voucherNumber
)
{
this
.
voucherNumber
=
voucherNumber
;
}
public
String
getVoucherNumber
()
{
return
voucherNumber
;
}
public
void
setUnitPrice
(
Double
unitPrice
)
{
this
.
unitPrice
=
unitPrice
;
}
public
Double
getUnitPrice
()
{
return
unitPrice
;
}
public
void
setTotalAmount
(
Double
totalAmount
)
{
this
.
totalAmount
=
totalAmount
;
}
public
Double
getTotalAmount
()
{
return
totalAmount
;
}
public
void
setIsUsed
(
Integer
isUsed
)
{
this
.
isUsed
=
isUsed
;
}
public
Integer
getIsUsed
()
{
return
isUsed
;
}
public
void
setSortNo
(
Integer
sortNo
)
{
this
.
sortNo
=
sortNo
;
}
public
Integer
getSortNo
()
{
return
sortNo
;
}
public
void
setCreateUserCode
(
String
createUserCode
)
{
this
.
createUserCode
=
createUserCode
;
}
public
String
getCreateUserCode
()
{
return
createUserCode
;
}
public
void
setUpdateUserCode
(
String
updateUserCode
)
{
this
.
updateUserCode
=
updateUserCode
;
}
public
String
getUpdateUserCode
()
{
return
updateUserCode
;
}
public
void
setReturnDate
(
java
.
util
.
Date
returnDate
)
{
this
.
returnDate
=
returnDate
;
}
public
java
.
util
.
Date
getReturnDate
()
{
return
returnDate
;
}
public
void
setOwnerName
(
String
ownerName
)
{
this
.
ownerName
=
ownerName
;
}
public
String
getOwnerName
()
{
return
ownerName
;
}
public
void
setMaterialName
(
String
materialName
)
{
this
.
materialName
=
materialName
;
}
public
String
getMaterialName
()
{
return
materialName
;
}
public
void
setWarehouseName
(
String
warehouseName
)
{
this
.
warehouseName
=
warehouseName
;
}
public
String
getWarehouseName
()
{
return
warehouseName
;
}
public
void
setLocationName
(
String
locationName
)
{
this
.
locationName
=
locationName
;
}
public
String
getLocationName
()
{
return
locationName
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setOwnerId
(
String
ownerId
)
{
this
.
ownerId
=
ownerId
;
}
public
String
getOwnerId
()
{
return
ownerId
;
}
public
String
getMaterialCode
()
{
return
materialCode
;
}
public
void
setMaterialCode
(
String
materialCode
)
{
this
.
materialCode
=
materialCode
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"orderId"
,
getOrderId
())
.
append
(
"materialId"
,
getMaterialId
())
.
append
(
"batchCode"
,
getBatchCode
())
.
append
(
"warehouseId"
,
getWarehouseId
())
.
append
(
"locationId"
,
getLocationId
())
.
append
(
"plannedQuantity"
,
getPlannedQuantity
())
.
append
(
"actualQuantity"
,
getActualQuantity
())
.
append
(
"plannedPackages"
,
getPlannedPackages
())
.
append
(
"actualPackages"
,
getActualPackages
())
.
append
(
"divisor"
,
getDivisor
())
.
append
(
"labelColor"
,
getLabelColor
())
.
append
(
"voucherNumber"
,
getVoucherNumber
())
.
append
(
"unitPrice"
,
getUnitPrice
())
.
append
(
"totalAmount"
,
getTotalAmount
())
.
append
(
"remark"
,
getRemark
())
.
append
(
"isUsed"
,
getIsUsed
())
.
append
(
"sortNo"
,
getSortNo
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"createUserCode"
,
getCreateUserCode
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"updateUserCode"
,
getUpdateUserCode
())
.
toString
();
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/ReturnOrders.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
domain
;
import
java.util.List
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
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
;
/**
* 退库单主对象 return_orders
*
* @author cy
* @date 2025-12-03
*/
@Data
public
class
ReturnOrders
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 编号 */
private
String
id
;
/** 退库单号 */
@Excel
(
name
=
"退库单号"
)
private
String
orderId
;
/** 退库日期 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"退库日期"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
returnDate
;
/** 退库类型1-TRDC退料 2-质量退料 3-多出退料 4-其他 不显示,默认1字典 */
@Excel
(
name
=
"退库类型"
)
private
String
returnType
;
/** 货主 */
@Excel
(
name
=
"货主"
)
private
String
ownerId
;
private
String
ownerName
;
/** 原出库单号 暂无用 */
@Excel
(
name
=
"原出库单号"
)
private
String
originalOrderId
;
/** 退库原因 */
@Excel
(
name
=
"退库原因"
)
private
String
returnReason
;
/** 1-草稿 2-已完成 字典,检索条件 */
@Excel
(
name
=
"订单状态"
)
private
Integer
orderStatus
;
/** 计划量 暂时无用 */
@Excel
(
name
=
"计划量"
)
private
Integer
totalPlannedQuantity
;
/** 实际量 暂时无用 */
@Excel
(
name
=
"实际量"
)
private
Integer
totalActualQuantity
;
/** 应用数据1使用0删除 删除用 */
@Excel
(
name
=
"应用数据"
)
private
Integer
isUsed
;
/** 排序 */
@Excel
(
name
=
"排序"
)
private
Integer
sortNo
;
/** 创建人代码 */
@Excel
(
name
=
"创建人代码"
)
private
String
createUserCode
;
/** 更新人代码 */
@Excel
(
name
=
"更新人代码"
)
private
String
updateUserCode
;
/** 退库单明细信息 */
private
List
<
ReturnOrderItems
>
returnOrderItemsList
;
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getId
()
{
return
id
;
}
public
void
setOrderId
(
String
orderId
)
{
this
.
orderId
=
orderId
;
}
public
String
getOrderId
()
{
return
orderId
;
}
public
void
setReturnDate
(
Date
returnDate
)
{
this
.
returnDate
=
returnDate
;
}
public
Date
getReturnDate
()
{
return
returnDate
;
}
public
void
setReturnType
(
String
returnType
)
{
this
.
returnType
=
returnType
;
}
public
String
getReturnType
()
{
return
returnType
;
}
public
void
setOwnerId
(
String
ownerId
)
{
this
.
ownerId
=
ownerId
;
}
public
String
getOwnerId
()
{
return
ownerId
;
}
public
void
setOriginalOrderId
(
String
originalOrderId
)
{
this
.
originalOrderId
=
originalOrderId
;
}
public
String
getOriginalOrderId
()
{
return
originalOrderId
;
}
public
void
setReturnReason
(
String
returnReason
)
{
this
.
returnReason
=
returnReason
;
}
public
String
getReturnReason
()
{
return
returnReason
;
}
public
void
setOrderStatus
(
Integer
orderStatus
)
{
this
.
orderStatus
=
orderStatus
;
}
public
Integer
getOrderStatus
()
{
return
orderStatus
;
}
public
void
setTotalPlannedQuantity
(
Integer
totalPlannedQuantity
)
{
this
.
totalPlannedQuantity
=
totalPlannedQuantity
;
}
public
Integer
getTotalPlannedQuantity
()
{
return
totalPlannedQuantity
;
}
public
void
setTotalActualQuantity
(
Integer
totalActualQuantity
)
{
this
.
totalActualQuantity
=
totalActualQuantity
;
}
public
Integer
getTotalActualQuantity
()
{
return
totalActualQuantity
;
}
public
void
setIsUsed
(
Integer
isUsed
)
{
this
.
isUsed
=
isUsed
;
}
public
Integer
getIsUsed
()
{
return
isUsed
;
}
public
void
setSortNo
(
Integer
sortNo
)
{
this
.
sortNo
=
sortNo
;
}
public
Integer
getSortNo
()
{
return
sortNo
;
}
public
void
setCreateUserCode
(
String
createUserCode
)
{
this
.
createUserCode
=
createUserCode
;
}
public
String
getCreateUserCode
()
{
return
createUserCode
;
}
public
void
setUpdateUserCode
(
String
updateUserCode
)
{
this
.
updateUserCode
=
updateUserCode
;
}
public
String
getUpdateUserCode
()
{
return
updateUserCode
;
}
public
List
<
ReturnOrderItems
>
getReturnOrderItemsList
()
{
return
returnOrderItemsList
;
}
public
void
setReturnOrderItemsList
(
List
<
ReturnOrderItems
>
returnOrderItemsList
)
{
this
.
returnOrderItemsList
=
returnOrderItemsList
;
}
public
String
getOwnerName
()
{
return
ownerName
;
}
public
void
setOwnerName
(
String
ownerName
)
{
this
.
ownerName
=
ownerName
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"orderId"
,
getOrderId
())
.
append
(
"returnDate"
,
getReturnDate
())
.
append
(
"returnType"
,
getReturnType
())
.
append
(
"ownerId"
,
getOwnerId
())
.
append
(
"originalOrderId"
,
getOriginalOrderId
())
.
append
(
"returnReason"
,
getReturnReason
())
.
append
(
"orderStatus"
,
getOrderStatus
())
.
append
(
"totalPlannedQuantity"
,
getTotalPlannedQuantity
())
.
append
(
"totalActualQuantity"
,
getTotalActualQuantity
())
.
append
(
"remark"
,
getRemark
())
.
append
(
"isUsed"
,
getIsUsed
())
.
append
(
"sortNo"
,
getSortNo
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"createUserCode"
,
getCreateUserCode
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"updateUserCode"
,
getUpdateUserCode
())
.
append
(
"returnOrderItemsList"
,
getReturnOrderItemsList
())
.
toString
();
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/StorageLocations.java
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
domain
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
...
...
@@ -11,6 +14,8 @@ import com.ruoyi.common.core.domain.BaseEntity;
* @author ruoyi
* @date 2025-12-01
*/
@Getter
@Setter
public
class
StorageLocations
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -97,6 +102,9 @@ public class StorageLocations extends BaseEntity
/** 排序号 */
private
String
updateUserCode
;
/** 仓库id */
private
String
warehousesId
;
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
...
...
ruoyi-inventory/src/main/java/com/ruoyi/inventory/domain/vo/InventorySummaryVO.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.alibaba.excel.annotation.write.style.HeadStyle
;
import
com.alibaba.excel.enums.poi.FillPatternTypeEnum
;
//import org.apache.poi.ss.usermodel.FillPatternType;
import
java.io.Serializable
;
/**
* 库存汇总统计VO
*
* @author ruoyi
* @date 2025-12-03
*/
@HeadStyle
(
fillPatternType
=
FillPatternTypeEnum
.
NO_FILL
,
fillForegroundColor
=
10
)
@HeadFontStyle
(
fontHeightInPoints
=
12
)
@ColumnWidth
(
15
)
public
class
InventorySummaryVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/** 物料ID */
@ExcelProperty
(
value
=
"物料ID"
,
index
=
0
)
private
String
materialId
;
/** 物料名称 */
@ExcelProperty
(
value
=
"物料名称"
,
index
=
1
)
private
String
materialName
;
/** 库存类别 */
@ExcelProperty
(
value
=
"库存类别"
,
index
=
2
)
private
String
inventoryTypeName
;
/** 仓库编码 */
@ExcelProperty
(
value
=
"仓库编码"
,
index
=
3
)
private
String
warehousesCode
;
/** 仓库名称 */
@ExcelProperty
(
value
=
"仓库名称"
,
index
=
4
)
private
String
warehouseName
;
/** 库位ID */
@ExcelProperty
(
value
=
"库位ID"
,
index
=
5
)
private
String
locationId
;
/** 库位名称 */
@ExcelProperty
(
value
=
"库位名称"
,
index
=
6
)
private
String
locationName
;
/** 货主ID */
@ExcelProperty
(
value
=
"货主ID"
,
index
=
7
)
private
String
ownerId
;
/** 货主名称 */
@ExcelProperty
(
value
=
"货主名称"
,
index
=
8
)
private
String
ownerName
;
/** 总库存数量 */
@ExcelProperty
(
value
=
"总库存数量"
,
index
=
9
)
private
Long
totalQuantity
;
/** 总锁定数量 */
@ExcelProperty
(
value
=
"总锁定数量"
,
index
=
10
)
private
Long
totalLockedQuantity
;
/** 总可用数量 */
@ExcelProperty
(
value
=
"总可用数量"
,
index
=
11
)
private
Long
totalAvailableQuantity
;
/** 总重量 */
@ExcelProperty
(
value
=
"总重量"
,
index
=
12
)
private
Double
totalWeight
;
/** 总体积 */
@ExcelProperty
(
value
=
"总体积"
,
index
=
13
)
private
Double
totalVolume
;
/** 库存状态 */
@ExcelProperty
(
value
=
"库存状态"
,
index
=
14
)
private
String
inventoryStatusName
;
public
String
getMaterialId
()
{
return
materialId
;
}
public
void
setMaterialId
(
String
materialId
)
{
this
.
materialId
=
materialId
;
}
public
String
getMaterialName
()
{
return
materialName
;
}
public
void
setMaterialName
(
String
materialName
)
{
this
.
materialName
=
materialName
;
}
public
String
getInventoryTypeName
()
{
return
inventoryTypeName
;
}
public
void
setInventoryTypeName
(
String
inventoryTypeName
)
{
this
.
inventoryTypeName
=
inventoryTypeName
;
}
public
String
getWarehousesCode
()
{
return
warehousesCode
;
}
public
void
setWarehousesCode
(
String
warehousesCode
)
{
this
.
warehousesCode
=
warehousesCode
;
}
public
String
getWarehouseName
()
{
return
warehouseName
;
}
public
void
setWarehouseName
(
String
warehouseName
)
{
this
.
warehouseName
=
warehouseName
;
}
public
String
getLocationId
()
{
return
locationId
;
}
public
void
setLocationId
(
String
locationId
)
{
this
.
locationId
=
locationId
;
}
public
String
getLocationName
()
{
return
locationName
;
}
public
void
setLocationName
(
String
locationName
)
{
this
.
locationName
=
locationName
;
}
public
String
getOwnerId
()
{
return
ownerId
;
}
public
void
setOwnerId
(
String
ownerId
)
{
this
.
ownerId
=
ownerId
;
}
public
String
getOwnerName
()
{
return
ownerName
;
}
public
void
setOwnerName
(
String
ownerName
)
{
this
.
ownerName
=
ownerName
;
}
public
Long
getTotalQuantity
()
{
return
totalQuantity
;
}
public
void
setTotalQuantity
(
Long
totalQuantity
)
{
this
.
totalQuantity
=
totalQuantity
;
}
public
Long
getTotalLockedQuantity
()
{
return
totalLockedQuantity
;
}
public
void
setTotalLockedQuantity
(
Long
totalLockedQuantity
)
{
this
.
totalLockedQuantity
=
totalLockedQuantity
;
}
public
Long
getTotalAvailableQuantity
()
{
return
totalAvailableQuantity
;
}
public
void
setTotalAvailableQuantity
(
Long
totalAvailableQuantity
)
{
this
.
totalAvailableQuantity
=
totalAvailableQuantity
;
}
public
Double
getTotalWeight
()
{
return
totalWeight
;
}
public
void
setTotalWeight
(
Double
totalWeight
)
{
this
.
totalWeight
=
totalWeight
;
}
public
Double
getTotalVolume
()
{
return
totalVolume
;
}
public
void
setTotalVolume
(
Double
totalVolume
)
{
this
.
totalVolume
=
totalVolume
;
}
public
String
getInventoryStatusName
()
{
return
inventoryStatusName
;
}
public
void
setInventoryStatusName
(
String
inventoryStatusName
)
{
this
.
inventoryStatusName
=
inventoryStatusName
;
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/ReturnOrderItemsMapper.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
mapper
;
import
java.util.List
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
/**
* 退库单明细Mapper接口
*
* @author ruoyi
* @date 2025-12-03
*/
public
interface
ReturnOrderItemsMapper
{
/**
* 查询退库单明细
*
* @param id 退库单明细主键
* @return 退库单明细
*/
public
ReturnOrderItems
selectReturnOrderItemsById
(
String
id
);
/**
* 查询退库单明细列表
*
* @param returnOrderItems 退库单明细
* @return 退库单明细集合
*/
public
List
<
ReturnOrderItems
>
selectReturnOrderItemsList
(
ReturnOrderItems
returnOrderItems
);
/**
* 新增退库单明细
*
* @param returnOrderItems 退库单明细
* @return 结果
*/
public
int
insertReturnOrderItems
(
ReturnOrderItems
returnOrderItems
);
/**
* 修改退库单明细
*
* @param returnOrderItems 退库单明细
* @return 结果
*/
public
int
updateReturnOrderItems
(
ReturnOrderItems
returnOrderItems
);
/**
* 删除退库单明细
*
* @param id 退库单明细主键
* @return 结果
*/
public
int
deleteReturnOrderItemsById
(
String
id
);
/**
* 批量删除退库单明细
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deleteReturnOrderItemsByIds
(
String
[]
ids
);
/**
* 通过退库单号删除退库单明细
*
* @param orderId 退库单号
* @return 结果
*/
public
int
deleteReturnOrderItemsByOrderId
(
String
orderId
);
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/ReturnOrdersMapper.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
mapper
;
import
java.util.List
;
import
com.ruoyi.inventory.domain.ReturnOrders
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
/**
* 退库单主Mapper接口
*
* @author ruoyi
* @date 2025-12-03
*/
public
interface
ReturnOrdersMapper
{
/**
* 查询退库单主
*
* @param id 退库单主主键
* @return 退库单主
*/
public
ReturnOrders
selectReturnOrdersById
(
String
id
);
/**
* 查询退库单主列表
*
* @param returnOrders 退库单主
* @return 退库单主集合
*/
public
List
<
ReturnOrders
>
selectReturnOrdersList
(
ReturnOrders
returnOrders
);
/**
* 新增退库单主
*
* @param returnOrders 退库单主
* @return 结果
*/
public
int
insertReturnOrders
(
ReturnOrders
returnOrders
);
/**
* 修改退库单主
*
* @param returnOrders 退库单主
* @return 结果
*/
public
int
updateReturnOrders
(
ReturnOrders
returnOrders
);
/**
* 删除退库单主
*
* @param id 退库单主主键
* @return 结果
*/
public
int
deleteReturnOrdersById
(
String
id
);
/**
* 批量删除退库单主
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deleteReturnOrdersByIds
(
String
[]
ids
);
/**
* 批量删除退库单明细
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deleteReturnOrderItemsByOrderIds
(
String
[]
ids
);
/**
* 批量新增退库单明细
*
* @param returnOrderItemsList 退库单明细列表
* @return 结果
*/
public
int
batchReturnOrderItems
(
List
<
ReturnOrderItems
>
returnOrderItemsList
);
/**
* 通过退库单主主键删除退库单明细信息
*
* @param orderId 退库单号
* @return 结果
*/
public
int
deleteReturnOrderItemsByOrderId
(
String
orderId
);
/**
* 批量确认退库单
* @param ids
* @return
*/
public
int
confirmReturnOrdersByIds
(
String
[]
ids
);
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/StorageLocationsMapper.java
View file @
23d827ff
...
...
@@ -89,4 +89,11 @@ public interface StorageLocationsMapper
*/
public
List
<
Map
<
String
,
Object
>>
getMapList
(
StorageLocations
storageLocations
);
/**
* 查询库位列表
*
* @param storageLocations 库位
* @return 库位集合
*/
List
<
StorageLocations
>
getStorageLocationsList
(
StorageLocations
storageLocations
);
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IReturnOrderItemsService.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
service
;
import
java.util.List
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
/**
* 退库单明细Service接口
*
* @author ruoyi
* @date 2025-12-03
*/
public
interface
IReturnOrderItemsService
{
/**
* 查询退库单明细
*
* @param id 退库单明细主键
* @return 退库单明细
*/
public
ReturnOrderItems
selectReturnOrderItemsById
(
String
id
);
/**
* 查询退库单明细列表
*
* @param returnOrderItems 退库单明细
* @return 退库单明细集合
*/
public
List
<
ReturnOrderItems
>
selectReturnOrderItemsList
(
ReturnOrderItems
returnOrderItems
);
/**
* 新增退库单明细
*
* @param returnOrderItems 退库单明细
* @return 结果
*/
public
int
insertReturnOrderItems
(
ReturnOrderItems
returnOrderItems
);
/**
* 修改退库单明细
*
* @param returnOrderItems 退库单明细
* @return 结果
*/
public
int
updateReturnOrderItems
(
ReturnOrderItems
returnOrderItems
);
/**
* 批量删除退库单明细
*
* @param ids 需要删除的退库单明细主键集合
* @return 结果
*/
public
int
deleteReturnOrderItemsByIds
(
String
[]
ids
);
/**
* 删除退库单明细信息
*
* @param id 退库单明细主键
* @return 结果
*/
public
int
deleteReturnOrderItemsById
(
String
id
);
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IReturnOrdersService.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
service
;
import
java.util.List
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
import
com.ruoyi.inventory.domain.ReturnOrders
;
/**
* 退库单主Service接口
*
* @author ruoyi
* @date 2025-12-03
*/
public
interface
IReturnOrdersService
{
/**
* 查询退库单主
*
* @param id 退库单主主键
* @return 退库单主
*/
public
ReturnOrders
selectReturnOrdersById
(
String
id
);
/**
* 查询退库单主列表
*
* @param returnOrders 退库单主
* @return 退库单主集合
*/
public
List
<
ReturnOrders
>
selectReturnOrdersList
(
ReturnOrders
returnOrders
);
/**
* 新增退库单主
*
* @param returnOrders 退库单主
* @return 结果
*/
public
int
insertReturnOrders
(
ReturnOrders
returnOrders
);
/**
* 修改退库单主
*
* @param returnOrders 退库单主
* @return 结果
*/
public
int
updateReturnOrders
(
ReturnOrders
returnOrders
);
/**
* 批量删除退库单主
*
* @param ids 需要删除的退库单主主键集合
* @return 结果
*/
public
int
deleteReturnOrdersByIds
(
String
[]
ids
);
/**
* 删除退库单主信息
*
* @param id 退库单主主键
* @return 结果
*/
public
int
deleteReturnOrdersById
(
String
id
);
/**
* 查询退库单明细列表
*
* @param returnOrders 退库单明细
* @return 退库单明细集合
*/
public
List
<
ReturnOrderItems
>
selectExportList
(
ReturnOrders
returnOrders
);
/**
* @退库确认
* @param ids 需要确认的退库单主主键集合
* @return
*/
public
int
confirmReturnOrdersByIds
(
String
[]
ids
);
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IStorageLocationsService.java
View file @
23d827ff
...
...
@@ -89,4 +89,12 @@ public interface IStorageLocationsService
* @version 1.0
*/
public
List
<
Map
<
String
,
Object
>>
getMapList
(
StorageLocations
storageLocations
);
/**
* 查询库位列表
*
* @param storageLocations 库位
* @return 库位集合
*/
public
List
<
StorageLocations
>
getStorageLocationsList
(
StorageLocations
storageLocations
);
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/ReturnOrderItemsServiceImpl.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
service
.
impl
;
import
java.util.List
;
import
com.ruoyi.common.utils.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.UUID
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.inventory.mapper.ReturnOrderItemsMapper
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
import
com.ruoyi.inventory.service.IReturnOrderItemsService
;
/**
* 退库单明细Service业务层处理
*
* @author ruoyi
* @date 2025-12-03
*/
@Service
public
class
ReturnOrderItemsServiceImpl
implements
IReturnOrderItemsService
{
@Autowired
private
ReturnOrderItemsMapper
returnOrderItemsMapper
;
/**
* 查询退库单明细
*
* @param id 退库单明细主键
* @return 退库单明细
*/
@Override
public
ReturnOrderItems
selectReturnOrderItemsById
(
String
id
)
{
return
returnOrderItemsMapper
.
selectReturnOrderItemsById
(
id
);
}
/**
* 查询退库单明细列表
*
* @param returnOrderItems 退库单明细
* @return 退库单明细
*/
@Override
public
List
<
ReturnOrderItems
>
selectReturnOrderItemsList
(
ReturnOrderItems
returnOrderItems
)
{
return
returnOrderItemsMapper
.
selectReturnOrderItemsList
(
returnOrderItems
);
}
/**
* 新增退库单明细
*
* @param returnOrderItems 退库单明细
* @return 结果
*/
@Override
public
int
insertReturnOrderItems
(
ReturnOrderItems
returnOrderItems
)
{
if
(
StringUtils
.
isEmpty
(
returnOrderItems
.
getId
()))
{
returnOrderItems
.
setId
(
UUID
.
randomUUID
().
toString
());
}
returnOrderItems
.
setCreateTime
(
DateUtils
.
getNowDate
());
if
(
returnOrderItems
.
getIsUsed
()
==
null
)
{
returnOrderItems
.
setIsUsed
(
1
);
}
// 自动计算金额
if
(
returnOrderItems
.
getActualQuantity
()
!=
null
&&
returnOrderItems
.
getUnitPrice
()
!=
null
)
{
returnOrderItems
.
setTotalAmount
(
returnOrderItems
.
getActualQuantity
()
*
returnOrderItems
.
getUnitPrice
());
}
return
returnOrderItemsMapper
.
insertReturnOrderItems
(
returnOrderItems
);
}
/**
* 修改退库单明细
*
* @param returnOrderItems 退库单明细
* @return 结果
*/
@Override
public
int
updateReturnOrderItems
(
ReturnOrderItems
returnOrderItems
)
{
returnOrderItems
.
setUpdateTime
(
DateUtils
.
getNowDate
());
// 自动计算金额
if
(
returnOrderItems
.
getActualQuantity
()
!=
null
&&
returnOrderItems
.
getUnitPrice
()
!=
null
)
{
returnOrderItems
.
setTotalAmount
(
returnOrderItems
.
getActualQuantity
()
*
returnOrderItems
.
getUnitPrice
());
}
return
returnOrderItemsMapper
.
updateReturnOrderItems
(
returnOrderItems
);
}
/**
* 批量删除退库单明细
*
* @param ids 需要删除的退库单明细主键
* @return 结果
*/
@Override
public
int
deleteReturnOrderItemsByIds
(
String
[]
ids
)
{
return
returnOrderItemsMapper
.
deleteReturnOrderItemsByIds
(
ids
);
}
/**
* 删除退库单明细信息
*
* @param id 退库单明细主键
* @return 结果
*/
@Override
public
int
deleteReturnOrderItemsById
(
String
id
)
{
return
returnOrderItemsMapper
.
deleteReturnOrderItemsById
(
id
);
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/ReturnOrdersServiceImpl.java
0 → 100644
View file @
23d827ff
package
com
.
ruoyi
.
inventory
.
service
.
impl
;
import
java.util.Collections
;
import
java.util.List
;
import
com.ruoyi.common.utils.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.UUID
;
import
com.ruoyi.common.utils.StringUtils
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.ruoyi.inventory.domain.ReturnOrderItems
;
import
com.ruoyi.inventory.mapper.ReturnOrdersMapper
;
import
com.ruoyi.inventory.domain.ReturnOrders
;
import
com.ruoyi.inventory.service.IReturnOrdersService
;
/**
* 退库单主Service业务层处理
*
* @author ruoyi
* @date 2025-12-03
*/
@Service
public
class
ReturnOrdersServiceImpl
implements
IReturnOrdersService
{
@Autowired
private
ReturnOrdersMapper
returnOrdersMapper
;
/**
* 查询退库单主
*
* @param id 退库单主主键
* @return 退库单主
*/
@Override
public
ReturnOrders
selectReturnOrdersById
(
String
id
)
{
return
returnOrdersMapper
.
selectReturnOrdersById
(
id
);
}
/**
* 查询退库单主列表
*
* @param returnOrders 退库单主
* @return 退库单主
*/
@Override
public
List
<
ReturnOrders
>
selectReturnOrdersList
(
ReturnOrders
returnOrders
)
{
return
returnOrdersMapper
.
selectReturnOrdersList
(
returnOrders
);
}
/**
* 新增退库单主
*
* @param returnOrders 退库单主
* @return 结果
*/
@Transactional
@Override
public
int
insertReturnOrders
(
ReturnOrders
returnOrders
)
{
if
(
StringUtils
.
isEmpty
(
returnOrders
.
getId
()))
{
returnOrders
.
setId
(
UUID
.
randomUUID
().
toString
());
}
returnOrders
.
setCreateTime
(
DateUtils
.
getNowDate
());
if
(
returnOrders
.
getIsUsed
()
==
null
)
{
returnOrders
.
setIsUsed
(
1
);
}
int
rows
=
returnOrdersMapper
.
insertReturnOrders
(
returnOrders
);
insertReturnOrderItems
(
returnOrders
);
return
rows
;
}
/**
* 修改退库单主
*
* @param returnOrders 退库单主
* @return 结果
*/
@Transactional
@Override
public
int
updateReturnOrders
(
ReturnOrders
returnOrders
)
{
returnOrders
.
setUpdateTime
(
DateUtils
.
getNowDate
());
returnOrdersMapper
.
deleteReturnOrderItemsByOrderId
(
returnOrders
.
getId
());
insertReturnOrderItems
(
returnOrders
);
return
returnOrdersMapper
.
updateReturnOrders
(
returnOrders
);
}
/**
* 批量删除退库单主
*
* @param ids 需要删除的退库单主主键
* @return 结果
*/
@Transactional
@Override
public
int
deleteReturnOrdersByIds
(
String
[]
ids
)
{
returnOrdersMapper
.
deleteReturnOrderItemsByOrderIds
(
ids
);
return
returnOrdersMapper
.
deleteReturnOrdersByIds
(
ids
);
}
/**
* 删除退库单主信息
*
* @param id 退库单主主键
* @return 结果
*/
@Transactional
@Override
public
int
deleteReturnOrdersById
(
String
id
)
{
ReturnOrders
returnOrders
=
returnOrdersMapper
.
selectReturnOrdersById
(
id
);
if
(
returnOrders
!=
null
&&
returnOrders
.
getOrderId
()
!=
null
)
{
returnOrdersMapper
.
deleteReturnOrderItemsByOrderId
(
returnOrders
.
getOrderId
());
}
return
returnOrdersMapper
.
deleteReturnOrdersById
(
id
);
}
@Override
public
List
<
ReturnOrderItems
>
selectExportList
(
ReturnOrders
returnOrders
)
{
return
Collections
.
emptyList
();
}
@Override
public
int
confirmReturnOrdersByIds
(
String
[]
ids
)
{
// todo 调用库存插入方法
return
returnOrdersMapper
.
confirmReturnOrdersByIds
(
ids
);
}
/**
* 新增退库单明细信息
*
* @param returnOrders 退库单主对象
*/
public
void
insertReturnOrderItems
(
ReturnOrders
returnOrders
)
{
List
<
ReturnOrderItems
>
returnOrderItemsList
=
returnOrders
.
getReturnOrderItemsList
();
String
returnOrderId
=
returnOrders
.
getId
();
String
orderId
=
returnOrders
.
getOrderId
();
if
(
StringUtils
.
isNotNull
(
returnOrderItemsList
))
{
List
<
ReturnOrderItems
>
list
=
new
ArrayList
<
ReturnOrderItems
>();
for
(
ReturnOrderItems
returnOrderItems
:
returnOrderItemsList
)
{
if
(
StringUtils
.
isEmpty
(
returnOrderItems
.
getId
()))
{
returnOrderItems
.
setId
(
UUID
.
randomUUID
().
toString
());
}
returnOrderItems
.
setReturnOrderId
(
returnOrderId
);
returnOrderItems
.
setOrderId
(
orderId
);
returnOrderItems
.
setCreateTime
(
DateUtils
.
getNowDate
());
if
(
returnOrderItems
.
getIsUsed
()
==
null
)
{
returnOrderItems
.
setIsUsed
(
1
);
}
// 自动计算金额
if
(
returnOrderItems
.
getActualQuantity
()
!=
null
&&
returnOrderItems
.
getUnitPrice
()
!=
null
)
{
returnOrderItems
.
setTotalAmount
(
returnOrderItems
.
getActualQuantity
()
*
returnOrderItems
.
getUnitPrice
());
}
list
.
add
(
returnOrderItems
);
}
if
(
list
.
size
()
>
0
)
{
returnOrdersMapper
.
batchReturnOrderItems
(
list
);
}
}
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/StorageLocationsServiceImpl.java
View file @
23d827ff
...
...
@@ -205,4 +205,15 @@ public class StorageLocationsServiceImpl implements IStorageLocationsService
{
return
storageLocationsMapper
.
getMapList
(
storageLocations
);
}
/**
* 查询库位列表
*
* @param storageLocations 库位
* @return 库位集合
*/
@Override
public
List
<
StorageLocations
>
getStorageLocationsList
(
StorageLocations
storageLocations
)
{
return
storageLocationsMapper
.
getStorageLocationsList
(
storageLocations
);
}
}
ruoyi-inventory/src/main/resources/mapper/inventory/ReturnOrderItemsMapper.xml
0 → 100644
View file @
23d827ff
差异被折叠。
点击展开。
ruoyi-inventory/src/main/resources/mapper/inventory/ReturnOrdersMapper.xml
0 → 100644
View file @
23d827ff
差异被折叠。
点击展开。
ruoyi-inventory/src/main/resources/mapper/inventory/StorageLocationsMapper.xml
View file @
23d827ff
...
...
@@ -26,10 +26,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"createUserCode"
column=
"create_user_code"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateUserCode"
column=
"update_user_code"
/>
<result
property=
"warehousesId"
column=
"warehouses_id"
/>
</resultMap>
<sql
id=
"selectStorageLocationsVo"
>
select id, location_code, location_name, warehouses_code, location_type, zone_code, row_code, column_code, layer_code, capacity, volume_capacity, allowed_hazard_levels, allowed_category_ids, temperature_zone, is_enabled, is_used, sort_no, create_time, create_user_code, update_time, update_user_code from storage_locations
select id, location_code, location_name, warehouses_code, location_type, zone_code, row_code, column_code, layer_code, capacity, volume_capacity, allowed_hazard_levels, allowed_category_ids, temperature_zone, is_enabled, is_used, sort_no, create_time, create_user_code, update_time, update_user_code
, warehouses_id
from storage_locations
</sql>
<select
id=
"selectStorageLocationsList"
parameterType=
"StorageLocations"
resultMap=
"StorageLocationsResult"
>
...
...
@@ -163,4 +164,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<select
id=
"getStorageLocationsList"
parameterType=
"StorageLocations"
resultMap=
"StorageLocationsResult"
>
<include
refid=
"selectStorageLocationsVo"
/>
where is_used=1
<if
test=
"warehousesId != null and warehousesId != ''"
>
and warehouses_id = #{warehousesId}
</if>
<if
test=
"locationCode != null and locationCode != ''"
>
and location_code = #{locationCode}
</if>
<if
test=
"locationName != null and locationName != ''"
>
and location_name like concat('%', #{locationName}, '%')
</if>
<if
test=
"warehousesCode != null and warehousesCode != ''"
>
and warehouses_code = #{warehousesCode}
</if>
<if
test=
"locationType != null "
>
and location_type = #{locationType}
</if>
<if
test=
"zoneCode != null and zoneCode != ''"
>
and zone_code = #{zoneCode}
</if>
<if
test=
"rowCode != null and rowCode != ''"
>
and row_code = #{rowCode}
</if>
<if
test=
"columnCode != null and columnCode != ''"
>
and column_code = #{columnCode}
</if>
<if
test=
"layerCode != null and layerCode != ''"
>
and layer_code = #{layerCode}
</if>
<if
test=
"capacity != null "
>
and capacity = #{capacity}
</if>
<if
test=
"volumeCapacity != null "
>
and volume_capacity = #{volumeCapacity}
</if>
<if
test=
"allowedHazardLevels != null and allowedHazardLevels != ''"
>
and allowed_hazard_levels = #{allowedHazardLevels}
</if>
<if
test=
"allowedCategoryIds != null and allowedCategoryIds != ''"
>
and allowed_category_ids = #{allowedCategoryIds}
</if>
<if
test=
"temperatureZone != null and temperatureZone != ''"
>
and temperature_zone = #{temperatureZone}
</if>
<if
test=
"isEnabled != null "
>
and is_enabled = #{isEnabled}
</if>
<if
test=
"sortNo != null "
>
and sort_no = #{sortNo}
</if>
<if
test=
"createUserCode != null and createUserCode != ''"
>
and create_user_code = #{createUserCode}
</if>
<if
test=
"updateUserCode != null and updateUserCode != ''"
>
and update_user_code = #{updateUserCode}
</if>
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论