package org.springblade.mdm.basesetting.producedivision.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springblade.core.excel.util.ExcelUtil;
|
import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
|
import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
|
import org.springblade.mdm.basesetting.producedivision.mapper.QinzheFgbMapper;
|
import org.springblade.mdm.basesetting.producedivision.vo.DivisionExcel;
|
import org.springblade.mdm.basesetting.producedivision.vo.ImportResult;
|
import org.springblade.mdm.basesetting.producedivision.vo.QinzheFgbExcel;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
public class QinzheFgbService extends ServiceImpl<QinzheFgbMapper, QinzheFgb> {
|
/**
|
* 根据零件号获取数据
|
* @param ljh 零件号
|
* @return 分工表实体,找不到返回null
|
*/
|
public QinzheFgb getByLjh(String ljh) {
|
return lambdaQuery().eq(QinzheFgb::getLjh, ljh).list().stream().findFirst().orElse(null);
|
}
|
|
/**
|
* 查询分页
|
* @param query 查询参数
|
* @return 分页数据
|
*/
|
/*
|
public IPage<QinzheFgb> pageQuery(String name, Query query) {
|
return this.lambdaQuery().like(StringUtils.isNotBlank(name),QinzheFgb::getZggy,name).page(Condition.getPage(query));
|
}
|
*/
|
|
public List<String> seletDropList(String ljh) {
|
return this.baseMapper.seletDropList(ljh);
|
|
}
|
|
/**
|
* 导入勤哲分工表
|
* @param file excel文件
|
* @return 导入结果
|
*/
|
@Transactional
|
public void importFgb(MultipartFile file) {
|
|
List<QinzheFgbExcel> list = ExcelUtil.read(file, QinzheFgbExcel.class);
|
List<QinzheFgb> entityList = new ArrayList<>();
|
|
for(QinzheFgbExcel qzExcel: list){
|
QinzheFgb fgb = new QinzheFgb();
|
BeanUtils.copyProperties(qzExcel,fgb);
|
fgb.setSource("QZ");
|
entityList.add(fgb);
|
}
|
|
saveIfNotExists(entityList);
|
}
|
|
/**
|
* 不存在则保存
|
* @param entityList 数据列表
|
*/
|
@Transactional
|
private void saveIfNotExists(List<QinzheFgb> entityList) {
|
|
List<QinzheFgb> willSaveList = entityList.stream().filter(e -> !exists(e)).toList();
|
this.saveBatch(willSaveList);
|
|
}
|
|
/**
|
* 判断数据是否存在
|
* @param entity 实体
|
* @return 是否存在
|
*/
|
boolean exists(QinzheFgb entity){
|
return lambdaQuery().eq(QinzheFgb::getLjh, entity.getLjh())
|
.eq(QinzheFgb::getCph, entity.getCph()).eq(QinzheFgb::getZggy, entity.getZggy()).count() > 0;
|
}
|
|
}
|