|
|
|
@ -1,27 +1,30 @@ |
|
|
|
package com.thing.eq.eqby.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import cn.hutool.core.map.MapUtil; |
|
|
|
import com.mybatisflex.core.paginate.Page; |
|
|
|
import com.mybatisflex.core.query.QueryWrapper; |
|
|
|
import com.thing.common.core.exception.SysException; |
|
|
|
import com.thing.common.core.utils.ConvertUtils; |
|
|
|
import com.thing.common.core.web.response.PageData; |
|
|
|
import com.thing.common.orm.service.impl.BaseServiceImpl; |
|
|
|
import com.thing.eq.eqby.dto.EqByTemplateDTO; |
|
|
|
import com.thing.eq.eqby.dto.EqByTemplateDetailDTO; |
|
|
|
import com.thing.eq.eqby.entity.EqByTemplateDetailEntity; |
|
|
|
import com.thing.eq.eqby.entity.EqByTemplateEntity; |
|
|
|
import com.thing.eq.eqby.mapper.EqByTemplateMapper; |
|
|
|
import com.thing.eq.eqby.service.EqByPlanService; |
|
|
|
import com.thing.eq.eqby.service.EqByTemplateDetailService; |
|
|
|
import com.thing.eq.eqby.service.EqByTemplateService; |
|
|
|
import com.thing.sys.security.context.TenantContext; |
|
|
|
import com.thing.sys.security.domain.SecurityUser; |
|
|
|
import com.thing.sys.security.context.UserContext; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
import static com.thing.eq.eqby.entity.table.EqByTemplateEntityTableDef.EQ_BY_TEMPLATE_ENTITY; |
|
|
|
|
|
|
|
/** |
|
|
|
* 保养模板 |
|
|
|
@ -48,12 +51,20 @@ public class EqByTemplateServiceImpl extends BaseServiceImpl<EqByTemplateMapper, |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<EqByTemplateDTO> page(Map<String, Object> params) { |
|
|
|
Page<EqByTemplateEntity> page = getPage(params); |
|
|
|
int pageNumber = MapUtil.getInt(params, "page", 1); |
|
|
|
int pageSize = MapUtil.getInt(params, "limit", 10); |
|
|
|
//查询 |
|
|
|
params.put("tenantCode", TenantContext.getTenantCode(SecurityUser.getUser())); |
|
|
|
List<EqByTemplateEntity> list = eqByTemplateDao.getListData(params); |
|
|
|
List<EqByTemplateDTO> targetList = ConvertUtils.sourceToTarget(list, EqByTemplateDTO.class); |
|
|
|
return new PageData<>(targetList, targetList.size()); |
|
|
|
Long deviceTypeId = MapUtil.getLong(params, "eqTypeId"); |
|
|
|
String name = MapUtil.getStr(params, "name"); |
|
|
|
QueryWrapper queryWrapper = QueryWrapper.create().eq(EqByTemplateEntity::getTenantCode, UserContext.getRealTenantCode()) |
|
|
|
.eq(EqByTemplateEntity::getDeviceTypeId, deviceTypeId, Objects::nonNull); |
|
|
|
if(StringUtils.isNotBlank(name)){ |
|
|
|
List<EqByTemplateDetailEntity> eqByTemplateDetailEntities = eqByTemplateDetailService.findByName(name); |
|
|
|
List<Long> byTemplateIds = eqByTemplateDetailEntities.stream().map(EqByTemplateDetailEntity::getByTemplateId).toList(); |
|
|
|
queryWrapper.where(EQ_BY_TEMPLATE_ENTITY.NAME.like(name).or(EQ_BY_TEMPLATE_ENTITY.ID.in(byTemplateIds))); |
|
|
|
} |
|
|
|
Page<EqByTemplateDTO> paginate = mapper.paginateAs(new Page<>(pageNumber, pageSize), queryWrapper,EqByTemplateDTO.class); |
|
|
|
return new PageData<>(paginate.getRecords(), paginate.getTotalRow()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@ -64,7 +75,7 @@ public class EqByTemplateServiceImpl extends BaseServiceImpl<EqByTemplateMapper, |
|
|
|
@Override |
|
|
|
public void save(EqByTemplateDTO dto) { |
|
|
|
// Long id = IdWorker.getId(); |
|
|
|
Long tenantCode = TenantContext.getTenantCode(SecurityUser.getUser()); |
|
|
|
Long tenantCode = UserContext.getRealTenantCode(); |
|
|
|
if (StringUtils.isNotBlank(dto.getName())){ |
|
|
|
int count = eqByTemplateDao.getTemplateByName(dto.getName(),tenantCode); |
|
|
|
if (count > 0){ |
|
|
|
@ -72,6 +83,7 @@ public class EqByTemplateServiceImpl extends BaseServiceImpl<EqByTemplateMapper, |
|
|
|
} |
|
|
|
} |
|
|
|
dto.setId(dto.getId()); |
|
|
|
dto.setTenantCode(tenantCode); |
|
|
|
super.saveDto(dto); |
|
|
|
if (CollectionUtil.isNotEmpty(dto.getDatas())){ |
|
|
|
for (EqByTemplateDetailDTO detailDTO:dto.getDatas()){ |
|
|
|
@ -92,13 +104,14 @@ public class EqByTemplateServiceImpl extends BaseServiceImpl<EqByTemplateMapper, |
|
|
|
if (planCount > 0){ |
|
|
|
throw new SysException("该模板已被保养计划使用,不可修改,请确认"); |
|
|
|
} |
|
|
|
Long tenantCode = TenantContext.getTenantCode(SecurityUser.getUser()); |
|
|
|
Long tenantCode = UserContext.getRealTenantCode(); |
|
|
|
if (StringUtils.isNotBlank(dto.getName())){ |
|
|
|
int count = eqByTemplateDao.getTemplateByNameNoId(dto.getName(),dto.getId(),tenantCode); |
|
|
|
if (count > 0){ |
|
|
|
throw new SysException("模板名称已经存在,不可新增,请确认"); |
|
|
|
} |
|
|
|
} |
|
|
|
dto.setTenantCode(tenantCode); |
|
|
|
super.updateDto(dto); |
|
|
|
//先删除模板明细 |
|
|
|
eqByTemplateDetailService.deleteByTemplateId(dto.getId()); |
|
|
|
|