2026-04-23 0005d49a697ce934c6fc2a61ecb75d881b9a76f2
src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -1,39 +1,24 @@
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.bean.dto.UserAccountDto;
import com.ruoyi.production.bean.dto.UserProductionAccountingDto;
import com.ruoyi.production.mapper.ProductionAccountMapper;
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;
public class SalesLedgerProductionAccountingServiceImpl implements SalesLedgerProductionAccountingService {
    private final ProductionAccountMapper productionAccountMapper;
    @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){
                // 计算工资 = 工时定额 * 数量 * 规格
                item.setWages(item.getWages().multiply(new BigDecimal(split[1])));
            }
        });
        return list;
    public UserAccountDto getByUserId(UserProductionAccountingDto dto) {
        if (dto == null || dto.getUserId() == null || dto.getDate() == null || dto.getDate().trim().isEmpty()) {
            return new UserAccountDto();
        }
        UserAccountDto result = productionAccountMapper.selectUserAccount(dto.getUserId(), dto.getDate());
        return result == null ? new UserAccountDto() : result;
    }
}