Browse Source

指标选项功能优化

wangchangsheng 2 years ago
parent
commit
d484bca1cb

+ 58 - 5
ims-service/ims-eval/src/main/java/com/ims/eval/controller/IndicatorDictionaryController.java

@@ -1,12 +1,15 @@
 package com.ims.eval.controller;
 
 
+import com.ims.eval.dao.result.R;
+import com.ims.eval.entity.Indicator;
 import com.ims.eval.entity.IndicatorDictionary;
 import com.ims.eval.service.IIndicatorDictionaryService;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -19,17 +22,67 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("//indicator-dictionary")
-public class IndicatorDictionaryController  {
+public class IndicatorDictionaryController {
 
 
 	@Autowired
 	private IIndicatorDictionaryService indicatorDictionaryService;
 
+	/**
+	 * @param id          主键ID
+	 * @param indicatorId 指标ID
+	 * @param optionCode  选项编码
+	 * @param optionName  选项名称
+	 * @return
+	 */
 	//@ImsPreAuth("eval:indicator:view")
 	@RequestMapping(value = "list")
-	public List<IndicatorDictionary> list() {
-		List<IndicatorDictionary> list = indicatorDictionaryService.list();
+	public List<IndicatorDictionary> list(@RequestParam(value = "id", required = false) String id,
+										  @RequestParam(value = "indicatorId", required = false) String indicatorId,
+										  @RequestParam(value = "optionCode", required = false) String optionCode,
+										  @RequestParam(value = "optionName", required = false) String optionName) {
+		List<IndicatorDictionary> list = indicatorDictionaryService.list(id, indicatorId, optionCode, optionName);
 		return list;
 	}
 
+
+	/**
+	 * 添加
+	 *
+	 * @param dictionary
+	 * @return
+	 */
+
+	//@ImsPreAuth("eval:dataDictionary:edit")
+	@PostMapping(value = "/save")
+	@ApiOperation(value = "新增(修改)", notes = "新增(修改)")
+	public R addAll(@RequestBody IndicatorDictionary dictionary) {
+
+		boolean b = indicatorDictionaryService.saveOrUpdate(dictionary);
+		if (b) {
+			return R.ok().data(b);
+		} else {
+			return R.error().data("保存失败!");
+		}
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	//@ImsPreAuth("eval:dataDictionary:remove")
+	@DeleteMapping(value = "/remove/{ids}")
+	@ApiOperation(value = "删除", notes = "删除")
+	public R deleteAll(@PathVariable("ids") String ids) {
+		String[] strings = ids.split(",");
+		boolean b = indicatorDictionaryService.removeByIds(Arrays.asList(strings));
+		if (b) {
+			return R.ok().data(b);
+		} else {
+			return R.error().data("删除失败!");
+		}
+	}
+
 }

+ 1 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/IIndicatorDictionaryService.java

@@ -15,6 +15,6 @@ import java.util.List;
  */
 public interface IIndicatorDictionaryService extends IService<IndicatorDictionary> {
 
-	List<IndicatorDictionary> list();
+	List<IndicatorDictionary> list(String id,String indicatorId,String optionCode,String optionName);
 
 }

+ 36 - 4
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/IndicatorDictionaryServiceImpl.java

@@ -2,12 +2,15 @@ package com.ims.eval.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ims.common.utils.StringUtils;
 import com.ims.eval.dao.IndicatorDictionaryMapper;
+import com.ims.eval.entity.Indicator;
 import com.ims.eval.entity.IndicatorDictionary;
 import com.ims.eval.service.IIndicatorDictionaryService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -22,11 +25,40 @@ import java.util.List;
 public class IndicatorDictionaryServiceImpl extends ServiceImpl<IndicatorDictionaryMapper, IndicatorDictionary> implements IIndicatorDictionaryService {
 
 
-	@Autowired
-	private IndicatorDictionaryMapper indicatorDictionaryMapper;
-	public  List<IndicatorDictionary>  list(){
+	public  List<IndicatorDictionary>  list(String id,String indicatorId,String optionCode,String optionName){
 		QueryWrapper<IndicatorDictionary> qw = new QueryWrapper<>();
-		List<IndicatorDictionary> list = indicatorDictionaryMapper.selectList(qw);
+
+		if (StringUtils.isNotEmpty(id)) {
+			qw.lambda().eq(IndicatorDictionary::getId, id);
+		}
+
+		if (StringUtils.isNotEmpty(indicatorId)) {
+			qw.lambda().eq(IndicatorDictionary::getIndicatorId, indicatorId);
+		}
+		if (StringUtils.isNotEmpty(optionCode)) {
+			qw.lambda().eq(IndicatorDictionary::getOptionCode, optionCode);
+		}
+		if (StringUtils.isNotEmpty(optionName)) {
+			qw.lambda().like(IndicatorDictionary::getOptionName, optionName);
+		}
+		List<IndicatorDictionary> list = baseMapper.selectList(qw);
+
 		return list;
 	}
+
+	@Override
+	public boolean saveOrUpdate(IndicatorDictionary entity) {
+
+		if (null != entity &&  (null == entity.getId() || "".equals(entity.getId().trim()))){
+			QueryWrapper<IndicatorDictionary> qw = new QueryWrapper<>();
+			qw.lambda().eq(IndicatorDictionary::getOptionCode, entity.getOptionCode());
+			List<IndicatorDictionary> list = baseMapper.selectList(qw);
+			if (null !=list && list.size()>0){
+				throw  new RuntimeException("当前选项code已存在");
+			}
+		}
+		return super.saveOrUpdate(entity);
+	}
+
+
 }