Bladeren bron

添加评分规则和处理跨域问题

wangchangsheng 2 jaren geleden
bovenliggende
commit
4d5a7bb47c

+ 25 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/config/CorsConfig.java

@@ -0,0 +1,25 @@
+package com.ims.eval.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @ClassName : CorsConfig
+ * @Author : wang
+ * @Date: 2023/2/28 20:00
+ * @Description :
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+	static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE"};  //请求方式
+
+	@Override
+	public void addCorsMappings(CorsRegistry registry) {
+		registry.addMapping("/**") //所有的当前站点的请求地址,都支持跨域访问
+			.allowedOrigins("*")// 所有的外部域都可跨域访问,这里注意2.4.0以后是allowedOriginPatterns,以前是allowedOrigins
+			.allowCredentials(true)  //是否支持跨域用户凭证
+			.allowedMethods(ORIGINS) //当前站点支持的跨域请求类型是什么
+			.maxAge(3600);  //超是时长,单位为秒。
+	}
+}

+ 74 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluateRuleController.java

@@ -1,9 +1,18 @@
 package com.ims.eval.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ims.eval.dao.result.R;
+import com.ims.eval.entity.DataDictionary;
+import com.ims.eval.entity.EvaluateRule;
+import com.ims.eval.entity.Indicator;
+import com.ims.eval.service.IEvaluateRuleService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +26,67 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("//evaluate-rule")
 public class EvaluateRuleController {
 
+
+	@Autowired
+	private IEvaluateRuleService evaluateRuleService;
+
+	/**
+	 * @param id             主键
+	 * @param des            描述
+	 * @param indicatorId    指标ID
+	 * @param evaluateMethod 评分方式
+	 * @return
+	 */
+	//@ImsPreAuth("eval:dataDictionary:view")
+	@GetMapping(value = "list")
+	public R list(@RequestParam(value = "pageNum") Integer pageNum,
+				  @RequestParam(value = "pageSize") Integer pageSize,
+				  @RequestParam(value = "id", required = false) String id,
+				  @RequestParam(value = "des", required = false) String des,
+				  @RequestParam(value = "indicatorId", required = false) String indicatorId,
+				  @RequestParam(value = "evaluateMethod", required = false) String evaluateMethod) {
+		IPage<EvaluateRule> list = evaluateRuleService.list(pageNum,pageSize,id, des, indicatorId, evaluateMethod);
+		return R.ok().data(list);
+	}
+
+
+	/**
+	 * 添加
+	 *
+	 * @param evaluateRule
+	 * @return
+	 */
+
+	//@ImsPreAuth("eval:dataDictionary:edit")
+	@PostMapping(value = "/save")
+	@ApiOperation(value = "新增(修改)", notes = "新增(修改)")
+	public R addAll(@RequestBody EvaluateRule evaluateRule) {
+
+		boolean b = evaluateRuleService.saveOrUpdate(evaluateRule);
+		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 = evaluateRuleService.removeByIds(Arrays.asList(strings));
+		if (b) {
+			return R.ok().data(b);
+		} else {
+			return R.error().data("删除失败!");
+		}
+	}
 }

+ 3 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluateRuleService.java

@@ -1,5 +1,6 @@
 package com.ims.eval.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ims.eval.entity.EvaluateRule;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -13,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEvaluateRuleService extends IService<EvaluateRule> {
 
+	IPage<EvaluateRule> list(Integer pageNum, Integer pageSize, String id, String des, String indicatorId, String evaluateMethod);
+
 }

+ 51 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateRuleServiceImpl.java

@@ -1,11 +1,18 @@
 package com.ims.eval.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ims.common.utils.StringUtils;
 import com.ims.eval.entity.EvaluateRule;
 import com.ims.eval.dao.EvaluateRuleMapper;
+import com.ims.eval.entity.Indicator;
 import com.ims.eval.service.IEvaluateRuleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 考评规则表 服务实现类
@@ -17,4 +24,48 @@ import org.springframework.stereotype.Service;
 @Service
 public class EvaluateRuleServiceImpl extends ServiceImpl<EvaluateRuleMapper, EvaluateRule> implements IEvaluateRuleService {
 
+	@Override
+	public IPage<EvaluateRule> list(Integer pageNum, Integer pageSize, String id, String des, String indicatorId, String evaluateMethod) {
+
+		QueryWrapper<EvaluateRule> qw = new QueryWrapper<>();
+		if (null == pageNum || null == pageSize ){
+			throw  new RuntimeException("分页参数为空");
+		}
+		//构造分页构造器
+		Page<EvaluateRule> page = new Page<>(pageNum, pageSize);
+
+
+		if (StringUtils.isNotEmpty(id)) {
+			qw.lambda().eq(EvaluateRule::getId, id);
+		}
+
+		if (StringUtils.isNotEmpty(des)) {
+			qw.lambda().like(EvaluateRule::getDes, des);
+		}
+
+		if (StringUtils.isNotEmpty(indicatorId)) {
+			qw.lambda().like(EvaluateRule::getIndicatorId, indicatorId);
+		}
+
+		if (StringUtils.isNotEmpty(evaluateMethod)) {
+			qw.lambda().eq(EvaluateRule::getEvaluateMethod, evaluateMethod);
+		}
+
+		qw.lambda().orderByAsc(EvaluateRule::getId);
+
+		IPage<EvaluateRule>  list = baseMapper.selectPage(page,qw);
+
+		return list;
+	}
+
+	@Override
+	public boolean saveOrUpdate(EvaluateRule entity) {
+		QueryWrapper<EvaluateRule> qw = new QueryWrapper<>();
+		qw.lambda().eq(EvaluateRule::getIndicatorId, entity.getIndicatorId());
+		List<EvaluateRule> list = baseMapper.selectList(qw);
+		if (null !=list && list.size()>0){
+			throw  new RuntimeException("当前指标评分规则已存在");
+		}
+		return super.saveOrUpdate(entity);
+	}
 }

+ 7 - 8
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/IndicatorDictionaryServiceImpl.java

@@ -49,15 +49,14 @@ public class IndicatorDictionaryServiceImpl extends ServiceImpl<IndicatorDiction
 	@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::getIndicatorId, entity.getIndicatorId());
-			qw.lambda().eq(IndicatorDictionary::getOptionCode, entity.getOptionCode());
-			List<IndicatorDictionary> list = baseMapper.selectList(qw);
-			if (null !=list && list.size()>0){
-				throw  new RuntimeException("当前选项code已存在");
-			}
+		QueryWrapper<IndicatorDictionary> qw = new QueryWrapper<>();
+		qw.lambda().eq(IndicatorDictionary::getIndicatorId, entity.getIndicatorId());
+		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);
 	}
 

+ 37 - 14
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/IndicatorServiceImpl.java

@@ -5,17 +5,21 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ims.common.utils.StringUtils;
+import com.ims.eval.dao.IndicatorDictionaryMapper;
 import com.ims.eval.dao.IndicatorMapper;
-import com.ims.eval.entity.DataDictionary;
 import com.ims.eval.entity.Indicator;
+import com.ims.eval.entity.IndicatorDictionary;
 import com.ims.eval.service.IIndicatorService;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.Collection;
 import java.util.List;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author wang
@@ -24,8 +28,11 @@ import java.util.List;
 @Service
 public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator> implements IIndicatorService {
 
+	@Resource
+	private IndicatorDictionaryMapper indicatorDictionaryMapper;
+
 	@Override
-	public IPage<Indicator> list(Integer pageNum, Integer pageSize,String id, String indicatorName, String indicatorCede, String binSection, String binStage, String dept, String company) {
+	public IPage<Indicator> list(Integer pageNum, Integer pageSize, String id, String indicatorName, String indicatorCede, String binSection, String binStage, String dept, String company) {
 
 		QueryWrapper<Indicator> qw = new QueryWrapper<>();
 		//构造分页构造器
@@ -60,7 +67,7 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 
 		qw.lambda().orderByAsc(Indicator::getOrderNum);
 
-		IPage<Indicator>  list = baseMapper.selectPage(page,qw);
+		IPage<Indicator> list = baseMapper.selectPage(page, qw);
 
 		return list;
 	}
@@ -68,18 +75,34 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 	@Override
 	public boolean saveOrUpdate(Indicator entity) {
 
-
-		if (null != entity &&  (null == entity.getId() || "".equals(entity.getId().trim()))){
-			QueryWrapper<Indicator> qw = new QueryWrapper<>();
-			qw.lambda().eq(Indicator::getIndicatorCode, entity.getIndicatorCode());
-			qw.lambda().eq(Indicator::getBinSection, entity.getBinSection());
-			qw.lambda().eq(Indicator::getBinStage, entity.getBinStage());
-			List<Indicator> list = baseMapper.selectList(qw);
-			if (null !=list && list.size()>0){
-				throw  new RuntimeException("当前指标code已存在");
-			}
+		QueryWrapper<Indicator> qw = new QueryWrapper<>();
+		qw.lambda().eq(Indicator::getIndicatorCode, entity.getIndicatorCode());
+		qw.lambda().eq(Indicator::getBinSection, entity.getBinSection());
+		qw.lambda().eq(Indicator::getBinStage, entity.getBinStage());
+		List<Indicator> list = baseMapper.selectList(qw);
+		if (null != list && list.size() > 0) {
+			throw new RuntimeException("当前指标code已存在");
 		}
 
 		return super.saveOrUpdate(entity);
 	}
+
+
+	@Override
+	public boolean removeByIds(Collection<? extends Serializable> idList) {
+		idList.stream().forEach(i -> {
+			QueryWrapper<IndicatorDictionary> qw = new QueryWrapper<>();
+			qw.lambda().eq(IndicatorDictionary::getIndicatorId, i);
+			List<IndicatorDictionary> list = indicatorDictionaryMapper.selectList(qw);
+			if (null != list && list.size() > 0) {
+				Indicator indicator = baseMapper.selectById(i);
+				throw new RuntimeException(indicator.getIndicatorName() + "指标存在关联属性");
+			}
+		});
+		int code = baseMapper.deleteBatchIds(idList);
+		if (code > 0) {
+			return true;
+		}
+		return false;
+	}
 }