From 569483bbc66ad0b141fe946b2c19c0de83bccba4 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 12 二月 2026 15:50:18 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New
---
src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java | 46 ++++++++++++++++++++++++++++++++--------------
src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java | 8 ++++++--
2 files changed, 38 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
index e6d8b7b..fda5910 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
@@ -80,37 +80,55 @@
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult updateRecord(ProductRecordDto productRecordDto) {
- SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productRecordDto.getSaleLedgerProjectId());
ProductRecord productRecord = productRecordMapper.selectById(productRecordDto.getId());
+ if (productRecord == null) return AjaxResult.error("璁板綍涓嶅瓨鍦�");
+
+ // 鏇存柊浜у搧鍙拌处
+ SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productRecord.getSaleLedgerProjectId());
if (salesLedgerProduct != null) {
- salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getFutureTicketsAmount().add(productRecord.getTicketsAmount()).subtract(productRecordDto.getTicketsAmount()));
- salesLedgerProduct.setFutureTickets(salesLedgerProduct.getFutureTickets().add(productRecord.getTicketsNum().subtract(productRecordDto.getTicketsNum())));
+ // 鏈潵绁ㄩ噾棰� = 鍘熸湭鏉ョエ閲戦 + 鏃ц閲戦 - 鏂拌閲戦
+ BigDecimal futureTicketsAmount = salesLedgerProduct.getFutureTicketsAmount()
+ .add(productRecord.getTicketsAmount())
+ .subtract(productRecordDto.getTicketsAmount());
+ salesLedgerProduct.setFutureTicketsAmount(futureTicketsAmount);
+
+ // 鏈潵绁ㄦ暟 = 鍘熸湭鏉ョエ鏁� + 鏃ц鏁伴噺 - 鏂拌鏁伴噺
+ BigDecimal futureTickets = salesLedgerProduct.getFutureTickets()
+ .add(productRecord.getTicketsNum())
+ .subtract(productRecordDto.getTicketsNum());
+ salesLedgerProduct.setFutureTickets(futureTickets);
+
+ // 鏇存柊浜у搧琛ㄦ湰娆℃暟鍊�
salesLedgerProduct.setTicketsAmount(productRecordDto.getTicketsAmount());
salesLedgerProduct.setTicketsNum(productRecordDto.getTicketsNum());
salesLedgerProductMapper.updateById(salesLedgerProduct);
}
- PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(productRecord.getPurchaseLedgerId());
- if (purchaseLedger != null) {
- purchaseLedger.setReceiptPaymentAmount(purchaseLedger.getReceiptPaymentAmount());
- }
- // 淇敼鍙戠エ鍙�
+
+ // 鏇存柊鏉ョエ鐧昏
TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(productRecord.getTicketRegistrationId());
- if(ticketRegistration != null){
+ if (ticketRegistration != null) {
+ // 閲戦 = 鏂伴噾棰� - 鏃ч噾棰�
+ BigDecimal amountDiff = productRecordDto.getTicketsAmount().subtract(productRecord.getTicketsAmount());
+ // 鎬婚噾棰� = 鍘熸�婚噾棰� + 宸��
+ ticketRegistration.setInvoiceAmount(ticketRegistration.getInvoiceAmount().add(amountDiff));
+ // 鏇存柊鍙戠エ鍙�
ticketRegistration.setInvoiceNumber(productRecordDto.getInvoiceNumber());
- ticketRegistration.setInvoiceAmount(productRecordDto.getTicketsAmount());
+
ticketRegistrationMapper.updateById(ticketRegistration);
}
- BeanUtils.copyProperties(productRecordDto,productRecord);
+
+ BeanUtils.copyProperties(productRecordDto, productRecord);
+ // 閲嶆柊璁$畻鏈潵绁ㄩ噾棰濓紙鏍规嵁鍓╀綑绁ㄦ暟 * 鍗曚环锛�
productRecord.setFutureTicketsAmount(productRecord.getFutureTickets().multiply(productRecord.getTaxInclusiveUnitPrice()));
productRecordMapper.updateById(productRecord);
return AjaxResult.success("淇敼鎴愬姛");
}
- @Override
+ @Override
public ProductRecordDto getProductRecordById(ProductRecordDto productRecordDto) {
List<ProductRecordDto> productRecordDtoList = productRecordMapper.getProductRecordById(productRecordDto);
- if(CollectionUtils.isNotEmpty(productRecordDtoList)){
+ if (CollectionUtils.isNotEmpty(productRecordDtoList)) {
ProductRecordDto productRecordDto1 = productRecordDtoList.stream()
.filter(item -> item.getId().equals(productRecordDto.getId()))
.findFirst()
@@ -121,7 +139,7 @@
.filter(item -> item.getProductModelId().equals(productRecordDto.getProductModelId()))
.map(ProductRecordDto::getTicketsNum)
.reduce(BigDecimal.ZERO, BigDecimal::add);
- if(productRecordDto1 != null){
+ if (productRecordDto1 != null) {
productRecordDto1.setFutureTickets(productRecordDto1.getQuantity().subtract(reduce));
productRecordDto1.setFutureTicketsAmount(productRecordDto1.getFutureTickets().multiply(productRecordDto1.getTaxInclusiveUnitPrice()));
}
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 1d35848..5ea3085 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("褰撳墠鐢ㄦ埛娌℃湁瀵瑰簲鐨勫憳宸ヤ俊鎭�");
@@ -107,8 +108,8 @@
int actualHour = currentDateTime.getHour();
int actualMinute = currentDateTime.getMinute();
// 鍒ゆ柇鎵撳崱鏃堕棿鏄惁鏅氫簬褰撳墠鏃堕棿
- if (actualHour > standardHour || (actualHour == standardHour && actualMinute > standardMinute)) {
- throw new BaseException(String.format("鎵撳崱澶辫触锛氭墦鍗℃椂闂翠笉鑳芥櫄浜庝笅鐝椂闂达紙%02d:%02d锛�", standardHour, standardMinute));
+ if (actualHour < standardHour || (actualHour == standardHour && actualMinute < standardMinute)) {
+ throw new BaseException(String.format("鎵撳崱澶辫触锛氭墦鍗℃椂闂翠笉鑳芥棭浜庝笅鐝椂闂达紙%02d:%02d锛�", standardHour, standardMinute));
}
// 鏍规嵁鍛樺伐ID鍜屽綋鍓嶆棩鏈熸煡璇㈡墦鍗¤褰�
QueryWrapper<PersonalAttendanceRecords> attendanceQueryWrapper = new QueryWrapper<>();
@@ -194,6 +195,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);
@@ -212,6 +214,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) {
@@ -255,6 +258,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