From 1d68d2eec415e5f4ef508033ded1dbead1d300ae Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期四, 09 四月 2026 14:12:39 +0800
Subject: [PATCH] feat(staff): 支持默认密码设置并完善用户信息关联
---
src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++++-
1 files changed, 72 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
index 5a7fe76..a1e9c9c 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -1,17 +1,27 @@
package com.ruoyi.production.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
+import com.ruoyi.production.dto.UserAccountDto;
+import com.ruoyi.production.dto.UserProductionAccountingDto;
+import com.ruoyi.production.mapper.ProductionProductMainMapper;
import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.tuple.Pair;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
* @author :yys
@@ -23,17 +33,77 @@
public class SalesLedgerProductionAccountingServiceImpl extends ServiceImpl<SalesLedgerProductionAccountingMapper, SalesLedgerProductionAccounting> implements SalesLedgerProductionAccountingService {
private final SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
-
+ private final ProductionProductMainMapper productionProductMainMapper;
+
@Override
public IPage<SalesLedgerProductionAccountingDto> listPage(Page page, SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto) {
IPage<SalesLedgerProductionAccountingDto> list = salesLedgerProductionAccountingMapper.listPage(page, salesLedgerProductionAccountingDto);
list.getRecords().forEach(item -> {
String[] split = item.getSpecificationModel().split("\\*");
- if(split.length == 2){
+ if(split.length == 2 && isNumeric(split[1])){
// 璁$畻宸ヨ祫 = 宸ユ椂瀹氶 * 鏁伴噺 * 瑙勬牸
item.setWages(item.getWages().multiply(new BigDecimal(split[1])));
}
});
return list;
}
+
+ @Override
+ public IPage<SalesLedgerProductionAccountingDto> pageProductionAccounting(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page) {
+ // TODO 绠$悊鍛樻煡璇㈡墍鏈夛紝鍏朵粬浜哄彧鑳芥煡鑷繁
+ boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+ if (!admin) {
+ salesLedgerProductionAccountingDto.setSchedulingUserName(SecurityUtils.getUsername());
+ }
+ if (salesLedgerProductionAccountingDto.getDateType().equals("month")) {
+ salesLedgerProductionAccountingDto.setEntryDate(null);
+ }else {
+ salesLedgerProductionAccountingDto.setEntryDateStart(null);
+ salesLedgerProductionAccountingDto.setEntryDateEnd(null);
+ }
+ IPage<SalesLedgerProductionAccountingDto> salesLedgerProductionAccountingDtoIPage = salesLedgerProductionAccountingMapper.pageProductionAccounting(page, salesLedgerProductionAccountingDto);
+ salesLedgerProductionAccountingDtoIPage.getRecords().forEach(it->{
+ // 鎷垮埌鏈哄彴缁熻 鍒嗛挓-鏈哄彴, 杩欐牱鎺掑垪
+ String deviceWorkInfo = it.getDeviceWorkInfo();
+ List<String> str = StrUtil.split(deviceWorkInfo, ">>>");
+ List<Pair<String,Integer>> collect = str.stream().map(n1 -> {
+ List<String> strPair = StrUtil.split(n1, "|$|");
+ if (strPair.size() == 2) {
+ return Pair.of(strPair.get(1),Integer.parseInt(strPair.get(0)));
+ }
+ return null;
+ }).filter(Objects::nonNull).collect(Collectors.toList());
+ it.setDeviceWorkInfoPairList(collect);
+ });
+ return salesLedgerProductionAccountingDtoIPage;
+ }
+
+ @Override
+ public IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page) {
+ if (salesLedgerProductionAccountingDto.getDateType().equals("month")) {
+ salesLedgerProductionAccountingDto.setEntryDate(null);
+ }else {
+ salesLedgerProductionAccountingDto.setEntryDateStart(null);
+ salesLedgerProductionAccountingDto.setEntryDateEnd(null);
+ }
+ return productionProductMainMapper.listProductionDetails(salesLedgerProductionAccountingDto, page);
+ }
+
+ @Override
+ public UserAccountDto getByUserId(UserProductionAccountingDto userProductionAccountingDto) {
+ return salesLedgerProductionAccountingMapper.getByUserId( userProductionAccountingDto);
+ }
+
+ public static boolean isNumeric(String str) {
+ if (str == null || str.isEmpty()) {
+ return false;
+ }
+ // 閬嶅巻瀛楃涓茬殑姣忎釜瀛楃锛屾鏌ユ槸鍚︿负鏁板瓧
+ for (int i = 0; i < str.length(); i++) {
+ if (!Character.isDigit(str.charAt(i))) {
+ return false;
+ }
+ }
+ return true;
+ }
}
--
Gitblit v1.9.3