|
@@ -1,6 +1,7 @@
|
|
|
package com.nokia.hb.service;
|
|
|
|
|
|
import com.nokia.common.R;
|
|
|
+import com.nokia.common.exception.BizException;
|
|
|
import com.nokia.hb.dao.entity.IndicatorTemplate;
|
|
|
import com.nokia.hb.dao.entity.IndicatorTemplateItem;
|
|
|
import com.nokia.hb.dao.mapper.IndicatorTemplateItemMapper;
|
|
@@ -17,10 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.LinkedHashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
@@ -72,14 +70,7 @@ public class IndicatorTemplateService {
|
|
|
indicatorTemplate.setTemplateName(dto.getTemplateName());
|
|
|
indicatorTemplate.setUsername(username);
|
|
|
indicatorTemplateMapper.insert(indicatorTemplate);
|
|
|
- List<IndicatorTemplateItem> indicatorTemplateItems = new ArrayList<>();
|
|
|
- dto.getIndicators().forEach(t -> {
|
|
|
- IndicatorTemplateItem tt = new IndicatorTemplateItem();
|
|
|
- tt.setTemplateId(indicatorTemplate.getId());
|
|
|
- tt.setIndicatorId(t);
|
|
|
- indicatorTemplateItems.add(tt);
|
|
|
- });
|
|
|
- indicatorTemplateItemMapper.insertBatch(indicatorTemplateItems);
|
|
|
+ insertIndicatorTemplateItem(dto.getIndicators(), indicatorTemplate.getId());
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
@@ -97,6 +88,29 @@ public class IndicatorTemplateService {
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public R<Object> updateTemplate(UpdateTemplateDto dto, HttpSession session) {
|
|
|
- return null;
|
|
|
+ String username = SessionUtil.getUsername(session);
|
|
|
+ List<Long> ids = indicatorTemplateMapper.getIds(username, Collections.singleton(dto.getId()));
|
|
|
+ if (CollectionUtils.isEmpty(ids)) {
|
|
|
+ throw new BizException("禁止操作");
|
|
|
+ }
|
|
|
+ indicatorTemplateItemMapper.deleteBatch(ids);
|
|
|
+ IndicatorTemplate indicatorTemplate = new IndicatorTemplate();
|
|
|
+ indicatorTemplate.setTemplateName(dto.getTemplateName());
|
|
|
+ indicatorTemplate.setUsername(username);
|
|
|
+ indicatorTemplateMapper.updateById(indicatorTemplate);
|
|
|
+ insertIndicatorTemplateItem(dto.getIndicators(), dto.getId());
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void insertIndicatorTemplateItem(Set<Integer> indicators, Long id) {
|
|
|
+ List<IndicatorTemplateItem> indicatorTemplateItems = new ArrayList<>();
|
|
|
+ indicators.forEach(t -> {
|
|
|
+ IndicatorTemplateItem tt = new IndicatorTemplateItem();
|
|
|
+ tt.setTemplateId(id);
|
|
|
+ tt.setIndicatorId(t);
|
|
|
+ indicatorTemplateItems.add(tt);
|
|
|
+ });
|
|
|
+ indicatorTemplateItemMapper.insertBatch(indicatorTemplateItems);
|
|
|
}
|
|
|
}
|