Browse Source

Merge branch 'master' of http://114.244.114.158:8802/siwei/sanya-data-management-back into dev

LAPTOP-BJJ3IV5R\SIWEI 1 year ago
parent
commit
57d6a8525f

+ 67 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/jsc/JscController.java

@@ -0,0 +1,67 @@
+package com.onemap.apply.controller.jsc;
+
+import com.onemap.apply.domain.zbmx.TZbmxZbxDTO;
+import com.onemap.apply.domain.zbmx.vo.ZbmxZbxQueryByZbbhVo;
+import com.onemap.apply.mapper.jsc.JscMapper;
+import com.onemap.apply.service.jsc.JscService;
+import com.onemap.common.core.web.controller.BaseController;
+import com.onemap.common.core.web.domain.RequestResult;
+import com.onemap.common.core.web.page.RecordTableDataInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 功能菜单 驾驶舱
+ *
+ * @author lvhp
+ * * @date 2024/5/20
+ */
+@RestController
+@RequestMapping("/jsc")
+public class JscController extends BaseController {
+
+    @Autowired
+    private JscService jscService;
+
+    /**
+     * 查询返回单条记录
+     *
+     * @param jscType   驾驶舱类型,跟前端对应(必填)
+     * @param id        查询数据的id(必填)
+     * @param beginTime 查询数据的开始时间
+     * @param endTime   查询数据的结束时间
+     * @param val0      备用字段0
+     * @param val1      备用字段1
+     * @param val2      备用字段2
+     * @return
+     */
+    @RequestMapping("/QueryOne")
+    public RequestResult QueryOne(String jscType, String id, String beginTime, String endTime, String val0, String val1, String val2) {
+        return jscService.QueryOne(jscType, id, beginTime, endTime, val0, val1, val2);
+    }
+
+    /**
+     * 查询返回单条记录
+     *
+     * @param jscType   驾驶舱类型,跟前端对应(必填)
+     * @param id        查询数据的id(必填)
+     * @param beginTime 查询数据的开始时间
+     * @param endTime   查询数据的结束时间
+     * @param val0      备用字段0
+     * @param val1      备用字段1
+     * @param val2      备用字段2
+     * @return
+     */
+    @RequestMapping("/QueryList")
+    public RequestResult QueryList(String jscType, String id, String beginTime, String endTime, String val0, String val1, String val2) {
+        return jscService.QueryList(jscType, id, beginTime, endTime, val0, val1, val2);
+    }
+
+
+}

+ 20 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/jsc/JscMapper.java

@@ -0,0 +1,20 @@
+package com.onemap.apply.mapper.jsc;
+
+import com.onemap.apply.mapper.jsc.provider.JscrSqlProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.SelectProvider;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author lvhp
+ * * @date 2024/5/21
+ */
+@Mapper
+public interface JscMapper {
+
+    @SelectProvider(value = JscrSqlProvider.class, method = "getSqlListByMap")
+    public List<Map<String, Object>> getBeanListByEntity(Map<String, Object> map);
+
+}

+ 11 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/jsc/TjscsqlMapper.java

@@ -0,0 +1,11 @@
+package com.onemap.apply.mapper.jsc;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.jsc.TjscsqlDTO;
+
+/**
+ * @author lvhp
+ * * @date 2024/5/21
+ */
+public interface TjscsqlMapper extends BaseMapper<TjscsqlDTO> {
+}

+ 45 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/jsc/provider/JscrSqlProvider.java

@@ -0,0 +1,45 @@
+package com.onemap.apply.mapper.jsc.provider;
+
+import com.onemap.common.core.utils.StringUtils;
+
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author lvhp
+ * * @date 2024/5/21
+ */
+public class JscrSqlProvider {
+
+    public String getSqlListByMap(Map<String, Object> map) {
+        StringBuilder sqlBuilder = new StringBuilder("");
+        if (map != null && map.size() > 0) {
+            String jsc_sql = map.get("jsc_sql").toString();
+            if (StringUtils.isNotEmpty(jsc_sql)) {
+                sqlBuilder.append("select * from (").append(jsc_sql).append(") as a ");
+                if (map.size() > 1) {
+                    sqlBuilder.append(" where ");
+                    Set<String> keys = map.keySet();
+                    int len = 0;
+                    for (String key : keys) {
+                        if (key != null && !"jsc_sql".equals(key)) {
+                            if (len > 0) {
+                                sqlBuilder.append(" and ");
+                            }
+                            if ("begin_time".equals(key)) {
+                                sqlBuilder.append(" a.").append(key.trim()).append(">= #{").append(key.trim()).append("} ");
+                            } else if ("end_time".equals(key)) {
+                                sqlBuilder.append(" a.").append(key.trim()).append("< #{").append(key.trim()).append("} ");
+                            } else {
+                                sqlBuilder.append(" a.").append(key.trim()).append("= #{").append(key.trim()).append("} ");
+                            }
+                            len++;
+                        }
+                    }
+                }
+            }
+        }
+        return sqlBuilder.toString();
+    }
+
+}

+ 114 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/jsc/JscServiceImpl.java

@@ -0,0 +1,114 @@
+package com.onemap.apply.service.impl.jsc;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.onemap.apply.domain.fzss.PzwjstdDTO;
+import com.onemap.apply.domain.jsc.TjscsqlDTO;
+import com.onemap.apply.mapper.jsc.JscMapper;
+import com.onemap.apply.mapper.jsc.TjscsqlMapper;
+import com.onemap.apply.service.jsc.JscService;
+import com.onemap.common.core.utils.StringUtils;
+import com.onemap.common.core.web.domain.RequestResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author lvhp
+ * * @date 2024/5/21
+ */
+@Service
+public class JscServiceImpl implements JscService {
+
+    @Autowired
+    private TjscsqlMapper tjscsqlMapper;
+    @Autowired
+    private JscMapper jscMapper;
+
+    @Override
+    public RequestResult QueryOne(String jscType, String id, String beginTime, String endTime, String val0, String val1, String val2) {
+        if (StringUtils.isEmpty(jscType)) {
+            return RequestResult.error("jscType 参数未传递!");
+        }
+        if (StringUtils.isEmpty(id)) {
+            return RequestResult.error("id 参数未传递!");
+        }
+        QueryWrapper<TjscsqlDTO> wrapper = new QueryWrapper<TjscsqlDTO>();
+        wrapper.eq("jsc_type", jscType.trim());
+        TjscsqlDTO tjscsqlDto = tjscsqlMapper.selectOne(wrapper);
+        if (StringUtils.isNull(tjscsqlDto)) {
+            return RequestResult.error("jscType 参数传递有误!");
+        }
+        String jscSql = tjscsqlDto.getJscSql();
+        if (StringUtils.isEmpty(jscSql)) {
+            return RequestResult.error("参数配置有问题!");
+        }
+        Map<String, Object> queryMap = new HashMap<>();
+        queryMap.put("id", id);
+        if (StringUtils.isNotEmpty(beginTime)) {
+            queryMap.put("begin_time", beginTime);
+        }
+        if (StringUtils.isNotEmpty(endTime)) {
+            queryMap.put("end_time", endTime);
+        }
+        if (StringUtils.isNotEmpty(val0)) {
+            queryMap.put("val0", val0);
+        }
+        if (StringUtils.isNotEmpty(val1)) {
+            queryMap.put("val1", val1);
+        }
+        if (StringUtils.isNotEmpty(val2)) {
+            queryMap.put("val2", val2);
+        }
+        queryMap.put("jsc_sql", jscSql);
+        List<Map<String, Object>> list = jscMapper.getBeanListByEntity(queryMap);
+        if (list.size() != 1) {
+            return RequestResult.error("查询数据有误,请检查!");
+        }
+        return RequestResult.success(list.get(0));
+    }
+
+    @Override
+    public RequestResult QueryList(String jscType, String id, String beginTime, String endTime, String val0, String val1, String val2) {
+        if (StringUtils.isEmpty(jscType)) {
+            return RequestResult.error("jscType 参数未传递!");
+        }
+        if (StringUtils.isEmpty(id)) {
+            return RequestResult.error("id 参数未传递!");
+        }
+        QueryWrapper<TjscsqlDTO> wrapper = new QueryWrapper<TjscsqlDTO>();
+        wrapper.eq("jsc_type", jscType.trim());
+        TjscsqlDTO tjscsqlDto = tjscsqlMapper.selectOne(wrapper);
+        if (StringUtils.isNull(tjscsqlDto)) {
+            return RequestResult.error("jscType 参数传递有误!");
+        }
+        String jscSql = tjscsqlDto.getJscSql();
+        if (StringUtils.isEmpty(jscSql)) {
+            return RequestResult.error("参数配置有问题!");
+        }
+        Map<String, Object> queryMap = new HashMap<>();
+        queryMap.put("id", id);
+        if (StringUtils.isNotEmpty(beginTime)) {
+            queryMap.put("begin_time", beginTime);
+        }
+        if (StringUtils.isNotEmpty(endTime)) {
+            queryMap.put("end_time", endTime);
+        }
+        if (StringUtils.isNotEmpty(val0)) {
+            queryMap.put("val0", val0);
+        }
+        if (StringUtils.isNotEmpty(val1)) {
+            queryMap.put("val1", val1);
+        }
+        if (StringUtils.isNotEmpty(val2)) {
+            queryMap.put("val2", val2);
+        }
+        queryMap.put("jsc_sql", jscSql);
+        List<Map<String, Object>> list = jscMapper.getBeanListByEntity(queryMap);
+        return RequestResult.success(list);
+    }
+
+}

+ 42 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/jsc/JscService.java

@@ -0,0 +1,42 @@
+package com.onemap.apply.service.jsc;
+
+import com.onemap.common.core.web.domain.RequestResult;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 驾驶舱相关业务接口
+ *
+ * @author lvhp
+ * * @date 2024/5/21
+ */
+public interface JscService {
+
+    /**
+     *查询返回单条记录
+     * @param jscType   驾驶舱类型,跟前端对应(必填)
+     * @param id        查询数据的id(必填)
+     * @param beginTime 查询数据的开始时间 (大于等于)
+     * @param endTime   查询数据的结束时间 (小于)
+     * @param val0      备用字段0
+     * @param val1      备用字段1
+     * @param val2      备用字段2
+     * @return
+     */
+    public RequestResult QueryOne(String jscType, String id, String beginTime, String endTime,String val0,String val1,String val2);
+
+    /**
+     * 查询返回多条记录
+     * @param jscType   驾驶舱类型,跟前端对应(必填)
+     * @param id        查询数据的id(必填)
+     * @param beginTime 查询数据的开始时间 (大于等于)
+     * @param endTime   查询数据的结束时间 (小于)
+     * @param val0      备用字段0
+     * @param val1      备用字段1
+     * @param val2      备用字段2
+     * @return
+     */
+    public RequestResult QueryList(String jscType, String id, String beginTime, String endTime, String val0, String val1, String val2);
+
+}

+ 6 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/jsc/TjscsqlMapper.xml

@@ -0,0 +1,6 @@
+<?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="com.onemap.apply.mapper.jsc.TjscsqlMapper">
+</mapper>