From f18ae9ca317f81095dc1f7e4e32a7513620f9f5d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 05 Jul 2023 16:34:04 +0800
Subject: [PATCH] 水库数据质量管理

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IRulesService.java                 |    2 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/RulesController.java            |   12 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IQualityManageService.java         |   12 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/QualityManageController.java    |  104 +++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml             |   48 ++++++++
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/entity/QualityManage.java          |   36 ++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/RulesServiceImpl.java         |   11 +
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/vo/QualityManageVO.java            |   43 +++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.java            |   21 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/QualityManageServiceImpl.java |   22 +++
 10 files changed, 311 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/entity/QualityManage.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/entity/QualityManage.java
new file mode 100644
index 0000000..102f589
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/entity/QualityManage.java
@@ -0,0 +1,36 @@
+package cn.gistack.sm.resDataCheck.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @Description: 水库数据质量管理表
+ */
+@Data
+@TableName("SM_RES_DATA_QUALITY_MANAGE")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="SM_RES_DATA_CHECK_RULES对象", description="水库数据质量管理表")
+public class QualityManage extends BaseEntity {
+
+	/**
+	 * 水库id
+	 */
+	@ApiModelProperty("水库id")
+	private String resId;
+
+	/**
+	 * 规则id
+	 */
+	@ApiModelProperty("规则id")
+	private String ruleId;
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/vo/QualityManageVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/vo/QualityManageVO.java
new file mode 100644
index 0000000..f79f947
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/resDataCheck/vo/QualityManageVO.java
@@ -0,0 +1,43 @@
+package cn.gistack.sm.resDataCheck.vo;
+
+import cn.gistack.sm.resDataCheck.entity.QualityManage;
+import lombok.Data;
+
+@Data
+public class QualityManageVO extends QualityManage {
+
+	/**
+	 * 水库名称
+	 */
+	private String resName;
+
+	/**
+	 * 行政区划
+	 */
+	private String resLoc;
+
+	/**
+	 * 注册登记号
+	 */
+	private String resRegCode;
+
+	/**
+	 * 工程规模
+	 */
+	private String engScal;
+
+	/**
+	 * 校验规则名称
+	 */
+	private String ruleName;
+
+	/**
+	 * 校验规则描述
+	 */
+	private String ruleDesc;
+
+	/**
+	 * 校验结果描述
+	 */
+	private String proDesc;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/QualityManageController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/QualityManageController.java
new file mode 100644
index 0000000..53390da
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/QualityManageController.java
@@ -0,0 +1,104 @@
+package cn.gistack.sm.resDataCheck.controller;
+
+import cn.gistack.sm.resDataCheck.entity.QualityManage;
+import cn.gistack.sm.resDataCheck.entity.RulesCondition;
+import cn.gistack.sm.resDataCheck.service.IQualityManageService;
+import cn.gistack.sm.resDataCheck.service.IRulesConditionService;
+import cn.gistack.sm.resDataCheck.vo.QualityManageVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+
+/**
+ * @Description: 数据规则校验
+ */
+@Slf4j
+@Api(tags = "数据质量管理")
+@RestController
+@RequestMapping("/resDataCheck/qualityManage")
+@AllArgsConstructor
+public class QualityManageController extends BladeController {
+
+	private IQualityManageService qualityManageService;
+
+	/**
+	 * 分页列表查询
+	 */
+	@ApiOperation(value = "数据规则校验-分页列表查询", notes = "数据规则校验-分页列表查询")
+	@GetMapping(value = "/list")
+	public R<IPage<QualityManageVO>> queryPageList(QualityManageVO qualityManageVO, Query query) {
+		IPage<QualityManageVO> pageList = qualityManageService.selectCustomizePage(Condition.getPage(query), qualityManageVO);
+		return R.data(pageList);
+	}
+
+	/**
+	 * 添加
+	 *
+	 * @param QualityManageVO
+	 * @return
+	 */
+	@ApiOperation(value = "数据规则校验-添加", notes = "数据规则校验-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody QualityManage QualityManageVO) {
+		return R.data(qualityManageService.save(QualityManageVO));
+	}
+
+	/**
+	 * 编辑
+	 *
+	 * @param QualityManageVO
+	 * @return
+	 */
+	@ApiOperation(value = "数据规则校验-编辑", notes = "数据规则校验-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+	public R edit(@RequestBody QualityManage QualityManageVO) {
+		return R.data(qualityManageService.updateById(QualityManageVO));
+	}
+
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value = "数据规则校验-通过id删除", notes = "数据规则校验-通过id删除")
+	@PostMapping(value = "/delete")
+	public R delete(@RequestParam(name = "id", required = true) String id) {
+		return R.data(qualityManageService.removeById(id));
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value = "数据规则校验-批量删除", notes = "数据规则校验-批量删除")
+	@PostMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+		return R.data(qualityManageService.removeByIds(Arrays.asList(ids.split(","))));
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value = "数据规则校验-通过id查询", notes = "数据规则校验-通过id查询")
+	@GetMapping(value = "/queryById")
+	public R queryById(@RequestParam(name = "id", required = true) String id) {
+		QualityManageVO qualityManageVO = qualityManageService.getDetail(id);
+		return R.data(qualityManageVO);
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/RulesController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/RulesController.java
index 33752ba..221cda2 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/RulesController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/RulesController.java
@@ -111,6 +111,18 @@
 	}
 
 	/**
+	 * 自定义删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value = "数据规则校验-自定义删除", notes = "数据规则校验-自定义删除")
+	@PostMapping(value = "/remove")
+	public R remove(@RequestParam(name = "ids", required = true) String id) {
+		return R.data(rulesService.customizeRemove(id));
+	}
+
+	/**
 	 * 通过id查询
 	 *
 	 * @param id
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.java
new file mode 100644
index 0000000..5edf7fc
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.java
@@ -0,0 +1,21 @@
+package cn.gistack.sm.resDataCheck.mapper;
+
+import cn.gistack.sm.resDataCheck.entity.QualityManage;
+import cn.gistack.sm.resDataCheck.entity.Rules;
+import cn.gistack.sm.resDataCheck.vo.QualityManageVO;
+import cn.gistack.sm.resDataCheck.vo.RulesVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Description: 数据校验规则
+ */
+public interface QualityManageMapper extends BaseMapper<QualityManage> {
+
+	List<QualityManageVO> selectCustomizePage(IPage<QualityManageVO> page, @Param("vo") QualityManageVO qualityManageVO);
+
+	QualityManageVO getDetail(@Param("id") String id);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml
new file mode 100644
index 0000000..5b8ea8a
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.gistack.sm.resDataCheck.mapper.QualityManageMapper">
+
+
+    <select id="selectCustomizePage" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageVO">
+        SELECT
+               arb."name" AS resName,
+               arb."res_loc" AS resLoc,
+               arb."res_reg_code" AS resRegCode,
+               arb."eng_scal" AS engScal,
+               rule.name AS ruleName,
+               rule.description AS ruleDesc,
+               rule.pro_description AS proDesc,
+               qm.*
+        FROM
+            SM_RES_DATA_QUALITY_MANAGE qm
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = qm.res_id
+        LEFT JOIN SM_RES_DATA_CHECK_RULES rule ON rule.id = qm.rule_id
+        WHERE qm.is_deleted = 0
+        <if test="vo.resName !=null and vo.resName !='' ">
+            AND arb."name" LIKE CONCAT('%',#{vo.resName},'%')
+        </if>
+        <if test="vo.vo.engScal !=null and vo.vo.engScal !='' ">
+            AND arb."eng_scal"  = #{vo.engScal}
+        </if>
+        <if test="vo.ruleName !=null and vo.ruleName !='' ">
+            AND rule.name LIKE CONCAT('%',#{vo.ruleName},'%')
+        </if>
+
+    </select>
+    <select id="getDetail" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageVO">
+        SELECT
+            arb."name" AS resName,
+            arb."res_loc" AS resLoc,
+            arb."res_reg_code" AS resRegCode,
+            arb."eng_scal" AS engScal,
+            rule.name AS ruleName,
+            rule.description AS ruleDesc,
+            rule.pro_description AS proDesc,
+            qm.*
+        FROM
+            SM_RES_DATA_QUALITY_MANAGE qm
+                LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = qm.res_id
+                LEFT JOIN SM_RES_DATA_CHECK_RULES rule ON rule.id = qm.rule_id
+        WHERE qm.is_deleted = 0 AND qm.id = #{id}
+    </select>
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IQualityManageService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IQualityManageService.java
new file mode 100644
index 0000000..9d6c1c6
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IQualityManageService.java
@@ -0,0 +1,12 @@
+package cn.gistack.sm.resDataCheck.service;
+
+import cn.gistack.sm.resDataCheck.entity.QualityManage;
+import cn.gistack.sm.resDataCheck.vo.QualityManageVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+
+public interface IQualityManageService extends BaseService<QualityManage> {
+	IPage<QualityManageVO> selectCustomizePage(IPage<QualityManageVO> page, QualityManageVO qualityManageVO);
+
+	QualityManageVO getDetail(String id);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IRulesService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IRulesService.java
index f774243..07754cb 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IRulesService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IRulesService.java
@@ -16,4 +16,6 @@
 	Boolean customizeEdit(RulesVO rulesVO);
 
 	RulesVO getDetail(String id);
+
+    Boolean customizeRemove(String id);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/QualityManageServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/QualityManageServiceImpl.java
new file mode 100644
index 0000000..0093f9e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/QualityManageServiceImpl.java
@@ -0,0 +1,22 @@
+package cn.gistack.sm.resDataCheck.service.impl;
+
+import cn.gistack.sm.resDataCheck.entity.QualityManage;
+import cn.gistack.sm.resDataCheck.mapper.QualityManageMapper;
+import cn.gistack.sm.resDataCheck.service.IQualityManageService;
+import cn.gistack.sm.resDataCheck.vo.QualityManageVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class QualityManageServiceImpl extends BaseServiceImpl<QualityManageMapper, QualityManage> implements IQualityManageService {
+	@Override
+	public IPage<QualityManageVO> selectCustomizePage(IPage<QualityManageVO> page, QualityManageVO qualityManageVO) {
+		return page.setRecords(baseMapper.selectCustomizePage(page,qualityManageVO));
+	}
+
+	@Override
+	public QualityManageVO getDetail(String id) {
+		return baseMapper.getDetail(id);
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/RulesServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/RulesServiceImpl.java
index c61b5de..5cbd295 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/RulesServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/RulesServiceImpl.java
@@ -77,4 +77,15 @@
 
 		return rulesVO;
 	}
+
+	@Override
+	@Transactional
+	public Boolean customizeRemove(String id) {
+		boolean removeRule = removeById(id);
+		RulesCondition rulesCondition = new RulesCondition();
+		rulesCondition.setRuleId(id);
+		List<RulesCondition> list = rulesConditionService.list(Condition.getQueryWrapper(rulesCondition));
+		boolean removeCondition = removeByIds(list);
+		return removeRule&&removeCondition;
+	}
 }

--
Gitblit v1.9.3