From 8c0d4b8f762b1e1535379c604fdc8e2530dc6c8a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 17 六月 2026 15:13:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/stock/service/StockOutRecordService.java | 2 ++
src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java | 11 +++++++++++
src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java | 20 ++++++++++++++++++++
src/main/java/com/ruoyi/staff/service/impl/SchemeApplicableStaffServiceImpl.java | 22 +++++++++++++---------
4 files changed, 46 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/service/impl/SchemeApplicableStaffServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/SchemeApplicableStaffServiceImpl.java
index be8abe5..60607ba 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/SchemeApplicableStaffServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/SchemeApplicableStaffServiceImpl.java
@@ -172,8 +172,8 @@
: calculateLatestDeptSocialSupplementAmount(staffOnJobDto);
BigDecimal pieceSalary = normalizeMoney(getBigDecimal(map, "pieceSalary"));
BigDecimal hourlySalary = normalizeMoney(getBigDecimal(map, "hourlySalary"));
- BigDecimal socialPersonal = normalizeMoney(getBigDecimal(map, "socialPersonal"));
- BigDecimal fundPersonal = normalizeMoney(getBigDecimal(map, "fundPersonal"));
+ BigDecimal socialPersonal = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
+ BigDecimal fundPersonal = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
UserProductionAccountingDto userProductionAccountingDto = new UserProductionAccountingDto();
userProductionAccountingDto.setUserId(getUidByStaffId(staffId));
@@ -194,9 +194,9 @@
}
for (SchemeInsuranceDetail detail : detailList) {
if("鍏Н閲�".equals(detail.getInsuranceType())){
- fundPersonal = fundPersonal.add(calculateByEmployeeIdType(detail.getInsuranceType(), fundPersonal, staffOnJobDto, detail));
+ fundPersonal = calculateByEmployeeIdType(detail.getInsuranceType(), fundPersonal, basicSalary, staffOnJobDto, detail);
}else{
- socialPersonal = socialPersonal.add(calculateByEmployeeIdType(detail.getInsuranceType(), socialPersonal, staffOnJobDto, detail));
+ socialPersonal = calculateByEmployeeIdType(detail.getInsuranceType(), socialPersonal, basicSalary, staffOnJobDto, detail);
}
}
}
@@ -263,14 +263,14 @@
* @param detail
* @return
*/
- public BigDecimal calculateByEmployeeIdType(String type,BigDecimal bigDecimal, StaffOnJob staffOnJobDto,SchemeInsuranceDetail detail) {
+ public BigDecimal calculateByEmployeeIdType(String type,BigDecimal bigDecimal, BigDecimal basicSalary, StaffOnJob staffOnJobDto,SchemeInsuranceDetail detail) {
// 鍒ゆ柇鏄惁璋冪敤鍩烘湰宸ヨ祫
if (detail.getUseBasicSalary() == 1) {
BigDecimal divide = detail.getPaymentBase().multiply(detail.getPersonalRatio()).divide(new BigDecimal("100"), 2);
bigDecimal = bigDecimal.add(divide);
}else{
- // 璋冪敤鍩烘湰宸ヨ祫
- BigDecimal multiply = staffOnJobDto.getBasicSalary().multiply(detail.getPersonalRatio().divide(new BigDecimal("100"), 2));
+ // 璋冪敤褰撳墠宸ヨ祫琛ㄤ腑鐨勫熀鏈伐璧�
+ BigDecimal multiply = basicSalary.multiply(detail.getPersonalRatio().divide(new BigDecimal("100"), 2));
bigDecimal = bigDecimal.add(multiply);
}
bigDecimal = bigDecimal.add(detail.getPersonalFixed());
@@ -292,8 +292,12 @@
BigDecimal socialSupplementAmount = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
for (SchemeInsuranceDetail detail : detailList) {
if (!"鍏Н閲�".equals(detail.getInsuranceType())) {
- socialSupplementAmount = socialSupplementAmount.add(
- calculateByEmployeeIdType(detail.getInsuranceType(), socialSupplementAmount, staffOnJobDto, detail)
+ socialSupplementAmount = calculateByEmployeeIdType(
+ detail.getInsuranceType(),
+ socialSupplementAmount,
+ normalizeMoney(staffOnJobDto.getBasicSalary()),
+ staffOnJobDto,
+ detail
);
}
}
diff --git a/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java b/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
index 7351890..660cf31 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
@@ -87,4 +87,15 @@
return AjaxResult.success();
}
+ @PostMapping("/reAudit")
+ @Log(title = "鍑哄簱绠$悊-鍙嶅鍑哄簱", businessType = BusinessType.UPDATE)
+ @Operation(summary = "鎵归噺鍙嶅鍑哄簱璁板綍")
+ public AjaxResult reAudit(@RequestBody StockOutRecordDto approveDto) {
+ if(CollectionUtils.isEmpty(approveDto.getIds())){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ stockOutRecordService.batchReAudit(approveDto.getIds());
+ return AjaxResult.success();
+ }
+
}
diff --git a/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java b/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
index bbad1f6..ca498b3 100644
--- a/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
@@ -31,4 +31,6 @@
void exportStockOutRecord(HttpServletResponse response, StockOutRecordDto stockOutRecordDto);
int batchApprove(List<Long> ids, Integer approvalStatus);
+
+ int batchReAudit(List<Long> ids);
}
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
index 05ed8fe..7138641 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -215,6 +215,26 @@
return ids.size();
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int batchReAudit(List<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ throw new BaseException("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ for (Long id : ids) {
+ StockOutRecord stockOutRecord = stockOutRecordMapper.selectById(id);
+ if (stockOutRecord == null) {
+ throw new BaseException("鍑哄簱璁板綍涓嶅瓨鍦�,鏃犳硶閲嶆柊瀹℃牳!!!");
+ }
+ if (!ReviewStatusEnum.REJECTED.getCode().equals(stockOutRecord.getApprovalStatus())) {
+ throw new BaseException("鍙湁椹冲洖鐘舵�佺殑璁板綍鎵嶈兘閲嶆柊瀹℃牳,鍑哄簱鎵规:" + stockOutRecord.getOutboundBatches());
+ }
+ stockOutRecord.setApprovalStatus(ReviewStatusEnum.PENDING_REVIEW.getCode());
+ stockOutRecordMapper.updateById(stockOutRecord);
+ }
+ return ids.size();
+ }
+
private StockInventory getStockInventory(Long productModelId, String batchNo) {
LambdaQueryWrapper<StockInventory> eq = new LambdaQueryWrapper<>();
eq.eq(StockInventory::getProductModelId, productModelId);
--
Gitblit v1.9.3