package com.lxzn.base.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.lxzn.base.dao.EquipmentClassMapper;
|
import com.lxzn.base.service.IEquipmentClassService;
|
import com.lxzn.framework.domain.base.EquipmentClass;
|
import com.lxzn.framework.domain.base.request.EquipmentClassRequest;
|
import com.lxzn.framework.domain.base.response.EquipmentClassCode;
|
import com.lxzn.framework.exception.ExceptionCast;
|
import com.lxzn.framework.model.response.CommonCode;
|
import com.lxzn.framework.model.response.QueryPageResponseResult;
|
import com.lxzn.framework.utils.ValidateUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
|
/**
|
* @author clown
|
* * @date 2023/5/18
|
*/
|
@Service
|
public class EquipmentClassServiceImpl extends ServiceImpl<EquipmentClassMapper,EquipmentClass> implements IEquipmentClassService {
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class})
|
public boolean addClassEquipment(EquipmentClass equipmentClass) {
|
if (equipmentClass == null) {
|
ExceptionCast.cast(EquipmentClassCode.EQUIPMENT_CODE_NOT_EXIST);
|
}
|
if (StringUtils.isEmpty(equipmentClass.getWorkshopNo()) || StringUtils.isEmpty(equipmentClass.getEquipmentIds()) || StringUtils.isEmpty(equipmentClass.getClassType())) {
|
ExceptionCast.cast(EquipmentClassCode.EQUIPMENT_LIST_NAME);
|
}
|
List<EquipmentClass> classList = findEquipmentType(equipmentClass.getClassType());
|
if (classList != null && !classList.isEmpty()) {
|
ExceptionCast.cast(EquipmentClassCode.EQUIPMENT_CLASS_TYPE);
|
}
|
equipmentClass.getEquipmentIds().replace(",",",");
|
return super.save(equipmentClass);
|
}
|
|
@Override
|
public QueryPageResponseResult<EquipmentClass> findPageList(int page, int size, EquipmentClassRequest requestParams) {
|
if(page < 1 || size < 1) {
|
ExceptionCast.cast(CommonCode.INVALID_PAGE);
|
}
|
IPage<EquipmentClass> pageData = new Page<>(page, size);
|
LambdaQueryChainWrapper<EquipmentClass> lambdaQuery = super.lambdaQuery();
|
if (requestParams != null) {
|
if (requestParams.getEquipmentId() != null && StringUtils.isNotEmpty(requestParams.getEquipmentId())) {
|
lambdaQuery.like(EquipmentClass::getEquipmentIds,requestParams.getEquipmentId());
|
}
|
if (requestParams.getWorkshopNo() != null && StringUtils.isNotEmpty(requestParams.getWorkshopNo())) {
|
lambdaQuery.eq(EquipmentClass::getWorkshopNo,requestParams.getWorkshopNo());
|
}
|
if(ValidateUtil.validateString(requestParams.getDescStr())) {
|
String[] descStr = requestParams.getDescStr().split(",");
|
if (descStr[0].equals("workshopNo")) {
|
if (descStr[1].equals("asc")) {
|
lambdaQuery.orderByAsc(true,EquipmentClass::getWorkshopNo);
|
} else {
|
lambdaQuery.orderByDesc(true,EquipmentClass::getWorkshopNo);
|
}
|
}
|
else if (descStr[0].equals("equipmentIds")) {
|
if (descStr[1].equals("asc")) {
|
lambdaQuery.orderByAsc(true,EquipmentClass::getEquipmentIds);
|
} else {
|
lambdaQuery.orderByDesc(true,EquipmentClass::getEquipmentIds);
|
}
|
}
|
else if (descStr[0].equals("classType")) {
|
if (descStr[1].equals("asc")) {
|
lambdaQuery.orderByAsc(true,EquipmentClass::getClassType);
|
} else {
|
lambdaQuery.orderByDesc(true,EquipmentClass::getClassType);
|
}
|
}
|
else if (descStr[0].equals("className")) {
|
if (descStr[1].equals("asc")) {
|
lambdaQuery.orderByAsc(true,EquipmentClass::getClassName);
|
} else {
|
lambdaQuery.orderByDesc(true,EquipmentClass::getClassName);
|
}
|
}
|
}
|
}
|
IPage<EquipmentClass> userIPage = lambdaQuery.page(pageData);
|
return new QueryPageResponseResult<>(CommonCode.SUCCESS, userIPage);
|
}
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class})
|
public boolean deleteClassEquipment(String id) {
|
if(!ValidateUtil.validateString(id)) {
|
ExceptionCast.cast(CommonCode.INVALID_PARAM);
|
}
|
EquipmentClass en = super.getById(id);
|
if (en == null) {
|
ExceptionCast.cast(EquipmentClassCode.EQUIPMENT_CODE_NOT_EXIST);
|
}
|
return super.removeById(id);
|
}
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class})
|
public boolean editClassEquipment(String id, EquipmentClass equipmentClass) {
|
if (StringUtils.isEmpty(id) || equipmentClass == null) {
|
ExceptionCast.cast(EquipmentClassCode.EQUIPMENT_CODE_NONE);
|
}
|
EquipmentClass en = super.getById(id);
|
if (en == null) {
|
ExceptionCast.cast(EquipmentClassCode.EQUIPMENT_CODE_NOT_EXIST);
|
}
|
equipmentClass.setId(id);
|
equipmentClass.getEquipmentIds().replace(",",",");
|
return super.updateById(equipmentClass);
|
}
|
|
@Override
|
public List<EquipmentClass> findEquipmentType(String classType) {
|
if(!ValidateUtil.validateString(classType)) {
|
return null;
|
}
|
List<EquipmentClass> list = super.lambdaQuery().eq(EquipmentClass::getClassType, classType).list();
|
if(list == null || list.isEmpty()) {
|
return null;
|
}
|
|
return list;
|
}
|
|
@Override
|
public EquipmentClass findEquipmentIdsFromEqId(String workshopNo, String equipmentId) {
|
if(StringUtils.isEmpty(workshopNo) || StringUtils.isEmpty(equipmentId)) {
|
return null;
|
}
|
List<EquipmentClass> list = super.lambdaQuery().
|
eq(EquipmentClass::getWorkshopNo, workshopNo).
|
like(EquipmentClass::getEquipmentIds,equipmentId).list();
|
if(list == null || list.isEmpty()) {
|
return null;
|
}
|
return list.get(0);
|
}
|
}
|