package com.ruoyi.production.service.impl;
|
|
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.production.dto.SalesLedgerProductionAccountingDto;
|
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.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
|
/**
|
* @author :yys
|
* @date : 2025/7/21 14:41
|
*/
|
@Service
|
@RequiredArgsConstructor
|
@Slf4j
|
public class SalesLedgerProductionAccountingServiceImpl extends ServiceImpl<SalesLedgerProductionAccountingMapper, SalesLedgerProductionAccounting> implements SalesLedgerProductionAccountingService {
|
|
private final SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
|
|
@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 && isNumeric(split[1])){
|
// 计算工资 = 工时定额 * 数量 * 规格
|
item.setWages(item.getWages().multiply(new BigDecimal(split[1])));
|
}
|
});
|
return list;
|
}
|
|
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;
|
}
|
}
|