From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板
---
src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java | 19 +++++++------------
1 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
index 10e32a2..b323a22 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
@@ -71,6 +71,7 @@
/*鏌ヨ鍛樺伐淇℃伅*/
QueryWrapper<StaffOnJob> staffQueryWrapper = new QueryWrapper<>();
staffQueryWrapper.eq("staff_no", SecurityUtils.getUsername());
+ staffQueryWrapper.eq("staff_state", 1);//鍦ㄨ亴
StaffOnJob staffOnJob = staffOnJobMapper.selectOne(staffQueryWrapper);
if (staffOnJob == null) {
throw new BaseException("褰撳墠鐢ㄦ埛娌℃湁瀵瑰簲鐨勫憳宸ヤ俊鎭�");
@@ -99,23 +100,12 @@
throw new BaseException(String.format("鎵撳崱澶辫触锛氭偍褰撳墠浣嶇疆璺濈鑰冨嫟鐐�%.2f绫筹紝瓒呭嚭鍏佽鑼冨洿锛�%s绫筹級", actualDistance, allowedRadius));
}
/*鍒ゆ柇鎵撳崱鏃堕棿*/
- LocalTime endAt = locationConfig.getEndAt(); //涓嬬彮鏃堕棿
- // 鑾峰彇鑰冨嫟涓嬬彮鏃堕棿鐐�
- int standardHour = endAt.getHour();
- int standardMinute = endAt.getMinute();
- // 褰撳墠鏃堕棿
- int actualHour = currentDateTime.getHour();
- int actualMinute = currentDateTime.getMinute();
- // 鍒ゆ柇鎵撳崱鏃堕棿鏄惁鏅氫簬褰撳墠鏃堕棿
- if (actualHour > standardHour || (actualHour == standardHour && actualMinute > standardMinute)) {
- throw new BaseException(String.format("鎵撳崱澶辫触锛氭墦鍗℃椂闂翠笉鑳芥櫄浜庝笅鐝椂闂达紙%02d:%02d锛�", standardHour, standardMinute));
- }
// 鏍规嵁鍛樺伐ID鍜屽綋鍓嶆棩鏈熸煡璇㈡墦鍗¤褰�
QueryWrapper<PersonalAttendanceRecords> attendanceQueryWrapper = new QueryWrapper<>();
attendanceQueryWrapper.eq("staff_on_job_id", staffOnJob.getId())
.eq("date", currentDate);
PersonalAttendanceRecords attendanceRecord = personalAttendanceRecordsMapper.selectOne(attendanceQueryWrapper);
- // 鏍规嵁瀛楀吀璁剧疆鐨勮�冨嫟鏃堕棿鍒ゆ柇杩熷埌鏃╅��
+ // 鏍规嵁鑰冨嫟鏃堕棿鍒ゆ柇杩熷埌鏃╅��
if (attendanceRecord == null) {
// 涓嶅瓨鍦ㄦ墦鍗¤褰曪紝鍒涘缓鏂拌褰�
PersonalAttendanceRecords personalAttendanceRecords = new PersonalAttendanceRecords();
@@ -176,6 +166,8 @@
return 3; // 杩熷埌鏃╅��
}
return 2; // 鏃╅��
+ }else if (attendanceRecord.getStatus() == 1) {
+ return 1; // 涓嬬彮鎵撳崱姝e父浣嗘槸涓婄彮杩熷埌
}
}
return 0; // 姝e父
@@ -192,6 +184,7 @@
if (!admin) {
QueryWrapper<StaffOnJob> staffQueryWrapper = new QueryWrapper<>();
staffQueryWrapper.eq("staff_no", SecurityUtils.getUsername());
+ staffQueryWrapper.eq("staff_state", 1);//鍦ㄨ亴
StaffOnJob staffOnJob = staffOnJobMapper.selectOne(staffQueryWrapper);
if (staffOnJob == null) {
return new Page<>(page.getCurrent(), page.getSize(), 0);
@@ -210,6 +203,7 @@
// 棣栧厛鏍规嵁鐢ㄦ埛ID鏌ヨ鍛樺伐淇℃伅
QueryWrapper<StaffOnJob> staffQueryWrapper = new QueryWrapper<>();
staffQueryWrapper.eq("staff_no", SecurityUtils.getUsername());
+ staffQueryWrapper.eq("staff_state", 1);//鍦ㄨ亴
StaffOnJob staffOnJob = staffOnJobMapper.selectOne(staffQueryWrapper);
if (staffOnJob == null) {
@@ -253,6 +247,7 @@
if (!admin) {
QueryWrapper<StaffOnJob> staffQueryWrapper = new QueryWrapper<>();
staffQueryWrapper.eq("staff_no", SecurityUtils.getUsername());
+ staffQueryWrapper.eq("staff_state", 1);//鍦ㄨ亴
StaffOnJob staffOnJob = staffOnJobMapper.selectOne(staffQueryWrapper);
if (staffOnJob == null) {
throw new ServiceException("娌℃湁鍛樺伐淇℃伅锛屾棤娉曞鍑鸿�冨嫟璁板綍");
--
Gitblit v1.9.3