package com.ruoyi.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.domain.BaseFinancesubject; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.BaseFinancesubjectMapper; import com.ruoyi.project.service.IBaseFinancesubjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 收入费用科目Service业务层处理 * * @author ruoyi * @date 2022-01-11 */ @Service public class BaseFinancesubjectServiceImpl extends ServiceImpl implements IBaseFinancesubjectService { @Autowired BaseFinancesubjectMapper baseFinancesubjectMapper; /** * 查询收入费用科目列表 * * @param baseFinancesubject 收入费用科目 * @return 收入费用科目 */ @Override public List queryList(BaseFinancesubject baseFinancesubject) { LambdaQueryWrapper wrappers = Wrappers.lambdaQuery(); if (StringUtils.isNotBlank(baseFinancesubject.getItemtype())){ wrappers.eq(BaseFinancesubject::getItemtype ,baseFinancesubject.getItemtype()); } if (StringUtils.isNotBlank(baseFinancesubject.getItemname())){ wrappers.like(BaseFinancesubject::getItemname ,baseFinancesubject.getItemname()); } if (StringUtils.isNotBlank(baseFinancesubject.getUsestate())){ wrappers.eq(BaseFinancesubject::getUsestate ,baseFinancesubject.getUsestate()); } if (StringUtils.isNotBlank(baseFinancesubject.getExpensetype())){ wrappers.eq(BaseFinancesubject::getExpensetype ,baseFinancesubject.getExpensetype()); } return this.list(wrappers); } @Override public List getItemName(String itemType) { List l = baseFinancesubjectMapper.getItemName(itemType); return l; } @Override public List getDonationCost(String DonorNo) { List l = baseFinancesubjectMapper.getDonationCost(DonorNo); return l; } @Override public List getItemType(String ExpenseType) { List l = baseFinancesubjectMapper.getItemType(ExpenseType); return l; } @Override public List selectBaseFinancesubjectList(BaseFinancesubject baseFinancesubject) { return baseFinancesubjectMapper.selectBaseFinancesubjectList(baseFinancesubject); } @Override public List getDetails(String expenseType) { List l = baseFinancesubjectMapper.getAllInfoByExpenseType(expenseType); List list = new ArrayList<>(); boolean isExists = false; for(BaseFinancesubject b : l){ ItemTypeVO temp = new ItemTypeVO(); for(int i = 0; i < list.size(); i++){ if(list.get(i).getItemType().equals(b.getItemtype())){ isExists = true; temp = list.get(i); } } if (isExists == false) { ItemTypeVO itemTypeVO = new ItemTypeVO(); itemTypeVO.setItemType(b.getItemtype()); itemTypeVO.setItemTypeName(b.getItemtypename()); ItemDetailVO id = new ItemDetailVO(); id.setId(b.getId()); id.setItemCode(b.getItemcode()); id.setItemDescribe(b.getItemdescribe()); id.setItemName(b.getItemname()); id.setItemPinyin(b.getItempinyin()); List idList = new ArrayList<>(); idList.add(id); itemTypeVO.setItemDetails(idList); list.add(itemTypeVO); } else{ List idList = temp.getItemDetails(); ItemDetailVO id = new ItemDetailVO(); id.setId(b.getId()); id.setItemCode(b.getItemcode()); id.setItemDescribe(b.getItemdescribe()); id.setItemName(b.getItemname()); id.setItemPinyin(b.getItempinyin()); idList.add(id); temp.setItemDetails(idList); isExists = false; } } return list; } }