package com.gx.obe.server.management.supplier.service.impl; import java.util.ArrayList; import java.util.List; import com.gx.obe.server.common.utils.IDUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gx.obe.server.common.entity.ReflecUtils; import com.gx.obe.server.common.utils.StringUtils; import com.gx.obe.server.management.supplier.dao.SupplierEvaluationStepMapper; import com.gx.obe.server.management.supplier.entity.SupplierEvaluationStep; import com.gx.obe.server.management.supplier.service.SupplierEvaluationStepService; /** * @Description: * @author mazc */ @Service @Transactional public class SupplierEvaluationStepServiceImpl extends ServiceImpl implements SupplierEvaluationStepService { @Autowired private SupplierEvaluationStepMapper supplierEvaluationStepMapper; /** * @Description: 批量更新 * @author mazc * @param ObeSupplierEvaluationStepList */ @Override @Transactional(rollbackFor = Exception.class) public Integer updateByBatch (List ObeSupplierEvaluationStepList){ return supplierEvaluationStepMapper.updateBatchList(ObeSupplierEvaluationStepList); } /** * @Description: 批量插入 * @author mazc * @param ObeSupplierEvaluationStepList */ @Override @Transactional(rollbackFor = Exception.class) public Integer insertByBatch (List ObeSupplierEvaluationStepList){ return supplierEvaluationStepMapper.insertByBatch(ObeSupplierEvaluationStepList); } /** * @Description: 所有为投标人分配的评标步骤 * @author mazc * @param tenderId 项目id * @return */ @Override public int deleteStepByTenderId(String tenderId) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.lambda().eq(SupplierEvaluationStep::getTenderId, tenderId); return supplierEvaluationStepMapper.delete(queryWrapper); } /** * @Description: * @author wangxiang * @param supplierEvaluationStepList * @param strings * @return */ @Override @Transactional(rollbackFor = Exception.class) public boolean updateAssignPropertyByBatch(List supplierEvaluationStepList, String[] strings) { List newList = new ArrayList(); for (SupplierEvaluationStep supplierEvaluationStep : supplierEvaluationStepList) { SupplierEvaluationStep supplierEvaluationStepTemp = ReflecUtils.reflex(supplierEvaluationStep, strings,SupplierEvaluationStep.class); newList.add(supplierEvaluationStepTemp); } return updateByBatch(newList) > 0; } /** * @Description: 删除评审结果记录 * @author chenxw * @param tenderId * @param stepId * @return */ @Override public int deleteSupplierEvaluationStep(String tenderId, String stepId) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.lambda().eq(SupplierEvaluationStep::getTenderId, tenderId) .eq(SupplierEvaluationStep::getStepId, stepId); return supplierEvaluationStepMapper.delete(queryWrapper); } @Override public List getSupplierEvaluationStepByTenderId(String tenderId) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.lambda().eq(SupplierEvaluationStep::getTenderId,tenderId); return supplierEvaluationStepMapper.selectList(queryWrapper); } @Override public List getSupplierEvaluationStepByTenderIdAndSupplierId(String tenderId, String supplierId) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.lambda().eq(SupplierEvaluationStep::getTenderId,tenderId).eq(SupplierEvaluationStep::getSupplierId,supplierId); return supplierEvaluationStepMapper.selectList(queryWrapper); } @Override public SupplierEvaluationStep getSupplierEvaluationStepBySupplierIdAndStepId(String supplierId, String stepId) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.lambda().eq(SupplierEvaluationStep::getSupplierId,supplierId).eq(SupplierEvaluationStep::getStepId,stepId); return supplierEvaluationStepMapper.selectOne(queryWrapper); } @Override public List getSupplierEvaluationStepByTenderIdAndStepId(String tenderId, String StepId) { QueryWrapper queryWrapper = new QueryWrapper(); if(StringUtils.isNotEmpty(tenderId)) { queryWrapper.lambda().eq(SupplierEvaluationStep::getTenderId,tenderId); } queryWrapper.lambda().eq(SupplierEvaluationStep::getStepId,StepId); return supplierEvaluationStepMapper.selectList(queryWrapper); } /** * @Description: 指定字段修改 * @author chenxw * @param ObeSupplierEvaluationStep * @param attributes */ @Override public boolean updateAssignProperty(SupplierEvaluationStep ObeSupplierEvaluationStep, String[] attributes) { return supplierEvaluationStepMapper.updateAssignProperty(ObeSupplierEvaluationStep, attributes) > 0; } /** * @Description: 批量指定字段修改 * @author chenxw * @param ObeSupplierEvaluationStepList * @param attributes */ @Override public Integer batchUpdateProperty(List ObeSupplierEvaluationStepList, String[] attributes) { return supplierEvaluationStepMapper.batchUpdateProperty(ObeSupplierEvaluationStepList, attributes); } /** * @Description: 批量添加或跟新 * @author chenxw * @param ObeSupplierEvaluationStepList * @param attributes * @return */ @Override @Transactional(rollbackFor = Exception.class) public Integer batchSaveOrUpdate(List ObeSupplierEvaluationStepList, String[] attributes) { List insertObeSupplierEvaluationStepList = new ArrayList<>(); List updateObeSupplierEvaluationStepList = new ArrayList<>(); for (SupplierEvaluationStep ObeSupplierEvaluationStep : ObeSupplierEvaluationStepList) { if (StringUtils.isEmpty(ObeSupplierEvaluationStep.getId())) { ObeSupplierEvaluationStep.setId(IDUtils.getId()); insertObeSupplierEvaluationStepList.add(ObeSupplierEvaluationStep); } else { updateObeSupplierEvaluationStepList.add(ObeSupplierEvaluationStep); } } int count = 0; if (insertObeSupplierEvaluationStepList.size() > 0) { count += supplierEvaluationStepMapper.insertByBatch(insertObeSupplierEvaluationStepList); } if (updateObeSupplierEvaluationStepList.size() > 0) { count += supplierEvaluationStepMapper.batchUpdateProperty(updateObeSupplierEvaluationStepList, attributes); } return count; } }