Forráskód Böngészése

Merge branch 'master' of http://192.168.101.10:13000/LIVE_YE/qianshanjiedai

zouling 1 éve
szülő
commit
18598165a3
26 módosított fájl, 2341 hozzáadás és 0 törlés
  1. 104 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateDispositionController.java
  2. 104 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateDispositionTableController.java
  3. 104 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateTableController.java
  4. 104 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateUserController.java
  5. 6 0
      ruoyi-common/pom.xml
  6. 111 0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/SendSmsUtils.java
  7. 156 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateDisposition.java
  8. 50 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateDispositionTable.java
  9. 112 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateTable.java
  10. 129 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateUser.java
  11. 86 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateDispositionMapper.java
  12. 70 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateDispositionTableMapper.java
  13. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateTableMapper.java
  14. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateUserMapper.java
  15. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateDispositionService.java
  16. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateDispositionTableService.java
  17. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateTableService.java
  18. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateUserService.java
  19. 130 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateDispositionServiceImpl.java
  20. 93 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateDispositionTableServiceImpl.java
  21. 139 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateTableServiceImpl.java
  22. 96 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateUserServiceImpl.java
  23. 125 0
      ruoyi-system/src/main/resources/mapper/system/InvestigateDispositionMapper.xml
  24. 64 0
      ruoyi-system/src/main/resources/mapper/system/InvestigateDispositionTableMapper.xml
  25. 91 0
      ruoyi-system/src/main/resources/mapper/system/InvestigateTableMapper.xml
  26. 101 0
      ruoyi-system/src/main/resources/mapper/system/InvestigateUserMapper.xml

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateDispositionController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.investigate;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.InvestigateDisposition;
+import com.ruoyi.system.service.IInvestigateDispositionService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 考察配置Controller
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@RestController
+@RequestMapping("/investigate/disposition")
+public class InvestigateDispositionController extends BaseController
+{
+    @Autowired
+    private IInvestigateDispositionService investigateDispositionService;
+
+    /**
+     * 查询考察配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:disposition:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(InvestigateDisposition investigateDisposition)
+    {
+        startPage();
+        List<InvestigateDisposition> list = investigateDispositionService.selectInvestigateDispositionList(investigateDisposition);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出考察配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:disposition:export')")
+    @Log(title = "考察配置", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, InvestigateDisposition investigateDisposition)
+    {
+        List<InvestigateDisposition> list = investigateDispositionService.selectInvestigateDispositionList(investigateDisposition);
+        ExcelUtil<InvestigateDisposition> util = new ExcelUtil<InvestigateDisposition>(InvestigateDisposition.class);
+        util.exportExcel(response, list, "考察配置数据");
+    }
+
+    /**
+     * 获取考察配置详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:disposition:query')")
+    @GetMapping(value = "/{investigateDispositionId}")
+    public AjaxResult getInfo(@PathVariable("investigateDispositionId") Long investigateDispositionId)
+    {
+        return success(investigateDispositionService.selectInvestigateDispositionByInvestigateDispositionId(investigateDispositionId));
+    }
+
+    /**
+     * 新增考察配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:disposition:add')")
+    @Log(title = "考察配置", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody InvestigateDisposition investigateDisposition)
+    {
+        return toAjax(investigateDispositionService.insertInvestigateDisposition(investigateDisposition));
+    }
+
+    /**
+     * 修改考察配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:disposition:edit')")
+    @Log(title = "考察配置", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody InvestigateDisposition investigateDisposition)
+    {
+        return toAjax(investigateDispositionService.updateInvestigateDisposition(investigateDisposition));
+    }
+
+    /**
+     * 删除考察配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:disposition:remove')")
+    @Log(title = "考察配置", businessType = BusinessType.DELETE)
+	@GetMapping("/delete/{investigateDispositionIds}")
+    public AjaxResult remove(@PathVariable Long[] investigateDispositionIds)
+    {
+        return toAjax(investigateDispositionService.deleteInvestigateDispositionByInvestigateDispositionIds(investigateDispositionIds));
+    }
+}

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateDispositionTableController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.investigate;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.InvestigateDispositionTable;
+import com.ruoyi.system.service.IInvestigateDispositionTableService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 考察配置与考察主关联Controller
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@RestController
+@RequestMapping("/investigate/disposition/table")
+public class InvestigateDispositionTableController extends BaseController
+{
+    @Autowired
+    private IInvestigateDispositionTableService investigateDispositionTableService;
+
+    /**
+     * 查询考察配置与考察主关联列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:table:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(InvestigateDispositionTable investigateDispositionTable)
+    {
+        startPage();
+        List<InvestigateDispositionTable> list = investigateDispositionTableService.selectInvestigateDispositionTableList(investigateDispositionTable);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出考察配置与考察主关联列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:table:export')")
+    @Log(title = "考察配置与考察主关联", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, InvestigateDispositionTable investigateDispositionTable)
+    {
+        List<InvestigateDispositionTable> list = investigateDispositionTableService.selectInvestigateDispositionTableList(investigateDispositionTable);
+        ExcelUtil<InvestigateDispositionTable> util = new ExcelUtil<InvestigateDispositionTable>(InvestigateDispositionTable.class);
+        util.exportExcel(response, list, "考察配置与考察主关联数据");
+    }
+
+    /**
+     * 获取考察配置与考察主关联详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:table:query')")
+    @GetMapping(value = "/{investigateTableId}")
+    public AjaxResult getInfo(@PathVariable("investigateTableId") Long investigateTableId)
+    {
+        return success(investigateDispositionTableService.selectInvestigateDispositionTableByInvestigateTableId(investigateTableId));
+    }
+
+    /**
+     * 新增考察配置与考察主关联
+     */
+    @PreAuthorize("@ss.hasPermi('system:table:add')")
+    @Log(title = "考察配置与考察主关联", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody InvestigateDispositionTable investigateDispositionTable)
+    {
+        return toAjax(investigateDispositionTableService.insertInvestigateDispositionTable(investigateDispositionTable));
+    }
+
+    /**
+     * 修改考察配置与考察主关联
+     */
+    @PreAuthorize("@ss.hasPermi('system:table:edit')")
+    @Log(title = "考察配置与考察主关联", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody InvestigateDispositionTable investigateDispositionTable)
+    {
+        return toAjax(investigateDispositionTableService.updateInvestigateDispositionTable(investigateDispositionTable));
+    }
+
+    /**
+     * 删除考察配置与考察主关联
+     */
+    @PreAuthorize("@ss.hasPermi('system:table:remove')")
+    @Log(title = "考察配置与考察主关联", businessType = BusinessType.DELETE)
+	@GetMapping("/delete/{investigateTableIds}")
+    public AjaxResult remove(@PathVariable Long[] investigateTableIds)
+    {
+        return toAjax(investigateDispositionTableService.deleteInvestigateDispositionTableByInvestigateTableIds(investigateTableIds));
+    }
+}

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateTableController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.investigate;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.InvestigateTable;
+import com.ruoyi.system.service.IInvestigateTableService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 考察主Controller
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@RestController
+@RequestMapping("/investigate/table")
+public class InvestigateTableController extends BaseController
+{
+    @Autowired
+    private IInvestigateTableService investigateTableService;
+
+    /**
+     * 查询考察主列表
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:table:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(InvestigateTable investigateTable)
+    {
+        startPage();
+        List<InvestigateTable> list = investigateTableService.selectInvestigateTableList(investigateTable);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出考察主列表
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:table:export')")
+    @Log(title = "考察主", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, InvestigateTable investigateTable)
+    {
+        List<InvestigateTable> list = investigateTableService.selectInvestigateTableList(investigateTable);
+        ExcelUtil<InvestigateTable> util = new ExcelUtil<InvestigateTable>(InvestigateTable.class);
+        util.exportExcel(response, list, "考察主数据");
+    }
+
+    /**
+     * 获取考察主详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:table:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(investigateTableService.selectInvestigateTableById(id));
+    }
+
+    /**
+     * 新增考察主
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:table:add')")
+    @Log(title = "考察主", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody InvestigateTable investigateTable)
+    {
+        return toAjax(investigateTableService.insertInvestigateTable(investigateTable));
+    }
+
+    /**
+     * 修改考察主
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:table:edit')")
+    @Log(title = "考察主", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody InvestigateTable investigateTable)
+    {
+        return toAjax(investigateTableService.updateInvestigateTable(investigateTable));
+    }
+
+    /**
+     * 删除考察主
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:table:remove')")
+    @Log(title = "考察主", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(investigateTableService.deleteInvestigateTableByIds(ids));
+    }
+}

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/investigate/InvestigateUserController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.investigate;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.InvestigateUser;
+import com.ruoyi.system.service.IInvestigateUserService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 考察人员信息Controller
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@RestController
+@RequestMapping("/investigate/user")
+public class InvestigateUserController extends BaseController
+{
+    @Autowired
+    private IInvestigateUserService investigateUserService;
+
+    /**
+     * 查询考察人员信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:user:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(InvestigateUser investigateUser)
+    {
+        startPage();
+        List<InvestigateUser> list = investigateUserService.selectInvestigateUserList(investigateUser);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出考察人员信息列表
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:user:export')")
+    @Log(title = "考察人员信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, InvestigateUser investigateUser)
+    {
+        List<InvestigateUser> list = investigateUserService.selectInvestigateUserList(investigateUser);
+        ExcelUtil<InvestigateUser> util = new ExcelUtil<InvestigateUser>(InvestigateUser.class);
+        util.exportExcel(response, list, "考察人员信息数据");
+    }
+
+    /**
+     * 获取考察人员信息详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:user:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(investigateUserService.selectInvestigateUserById(id));
+    }
+
+    /**
+     * 新增考察人员信息
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:user:add')")
+    @Log(title = "考察人员信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody InvestigateUser investigateUser)
+    {
+        return toAjax(investigateUserService.insertInvestigateUser(investigateUser));
+    }
+
+    /**
+     * 修改考察人员信息
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:user:edit')")
+    @Log(title = "考察人员信息", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody InvestigateUser investigateUser)
+    {
+        return toAjax(investigateUserService.updateInvestigateUser(investigateUser));
+    }
+
+    /**
+     * 删除考察人员信息
+     */
+    @PreAuthorize("@ss.hasPermi('investigate:user:remove')")
+    @Log(title = "考察人员信息", businessType = BusinessType.DELETE)
+	@GetMapping("/delete/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(investigateUserService.deleteInvestigateUserByIds(ids));
+    }
+}

+ 6 - 0
ruoyi-common/pom.xml

@@ -17,6 +17,12 @@
 
     <dependencies>
 
+        <!--阿里短信服务-->
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>dysmsapi20170525</artifactId>
+            <version>2.0.23</version>
+        </dependency>
         <!-- Spring框架基本的核心工具 -->
         <dependency>
             <groupId>org.springframework</groupId>

+ 111 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/SendSmsUtils.java

@@ -0,0 +1,111 @@
+package com.ruoyi.common.utils;
+
+
+import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
+import com.aliyun.teautil.models.RuntimeOptions;
+
+/**
+ * @author tjf
+ * @Date: 2021/07/15/10:21
+ */
+public class SendSmsUtils {
+    //短信参数
+    static final String ACCESS_KEY_ID = "LTAI5tNA2fcBJH6EWRH6Pxr6";
+    static final String ACCESS_KEY_SECRET = "5WdaPEOvC3u9LC7pwy2DQ9pgmJvgUr";
+
+
+    //生成X位验证码
+    public static String getCode(Integer num) {
+        String[] codes = {"1", "2", "3", "4", "5", "6", "7", "8", "9"};
+        StringBuilder code = new StringBuilder();
+        for (int i = 0; i < num; i++) {
+            int j = (int) (Math.random() * 10);
+            if (j <= 0) {
+                j = 1;
+            }
+            code.append(codes[j - 1]);
+
+        }
+        return code.toString();
+    }
+
+    public static void main(String[] args) {
+        String code = getCode(4);
+        System.out.println(code);
+    }
+
+    /**
+     * 使用AK&SK初始化账号Client
+     *
+     * @return Client
+     * @throws Exception
+     */
+    public static com.aliyun.dysmsapi20170525.Client createClient() throws Exception {
+        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
+            // 必填,您的 AccessKey ID
+            .setAccessKeyId(ACCESS_KEY_ID)
+            // 必填,您的 AccessKey Secret
+            .setAccessKeySecret(ACCESS_KEY_SECRET);
+        // 访问的域名
+        config.endpoint = "dysmsapi.aliyuncs.com";
+        return new com.aliyun.dysmsapi20170525.Client(config);
+    }
+
+
+    /**
+     * 发送短信消息
+     *
+     * @return
+     */
+    public static String sendSms(String phone, String templateCode, String smsCode) {
+        String code = "";
+        try {
+            // 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html
+            com.aliyun.dysmsapi20170525.Client client = SendSmsUtils.createClient();
+
+            com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
+                //手机号码
+                .setPhoneNumbers(phone)
+                //短信签名名称。中新云
+                .setSignName("智能校管家")
+                //短信模板变量对应的实际值{"name": code}
+                .setTemplateParam(smsCode)
+                //短信模板CODE
+                .setTemplateCode(templateCode);
+            // 复制代码运行请自行打印 API 的返回值
+            SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, new RuntimeOptions());
+            code = sendSmsResponse.getBody().code;
+        } catch (Exception _error) {
+        }
+        return code;
+    }
+
+    /**
+     * 发送注册的随机密码
+     *
+     * @return
+     */
+    public static String sendPassword(String password, String phone, String templateCode) {
+        String code = "";
+        try {
+            // 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html
+            com.aliyun.dysmsapi20170525.Client client = SendSmsUtils.createClient();
+            String smsCode = "{\"password\":\"" + password + "\"}";
+            com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
+                //手机号码
+                .setPhoneNumbers(phone)
+                //短信签名名称。潜山市数据资源局
+                .setSignName("中新云")
+                //短信模板CODE
+                .setTemplateCode(templateCode)
+                //短信模板变量对应的实际值{"name": code}
+                .setTemplateParam(smsCode);
+            // 复制代码运行请自行打印 API 的返回值
+            SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, new RuntimeOptions());
+            code = sendSmsResponse.getBody().code;
+        } catch (Exception _error) {
+        }
+        return code;
+    }
+}
+

+ 156 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateDisposition.java

@@ -0,0 +1,156 @@
+package com.ruoyi.system.domain;
+
+import com.ruoyi.common.core.domain.entity.SysDept;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 考察配置对象 investigate_disposition
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public class InvestigateDisposition extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long investigateDispositionId;
+
+    /** 父配置id */
+    @Excel(name = "父配置id")
+    private Long parentId;
+
+    /** 祖级列表 */
+    @Excel(name = "祖级列表")
+    private String ancestors;
+
+    /** 显示顺序 */
+    @Excel(name = "显示顺序")
+    private Integer orderNum;
+
+    /** 标题 */
+    @Excel(name = "标题")
+    private String title;
+
+    /** 链接地址 */
+    @Excel(name = "链接地址")
+    private String url;
+
+    /** 是否启用 Y:启用 N:不启用 */
+    @Excel(name = "是否启用 Y:启用 N:不启用")
+    private String status;
+
+    /** 父部门名称 */
+    private String parentName;
+
+    /** 子部门 */
+    private List<SysDept> children = new ArrayList<SysDept>();
+
+    public String getParentName()
+    {
+        return parentName;
+    }
+
+    public void setParentName(String parentName)
+    {
+        this.parentName = parentName;
+    }
+
+    public List<SysDept> getChildren()
+    {
+        return children;
+    }
+
+    public void setChildren(List<SysDept> children)
+    {
+        this.children = children;
+    }
+
+    public void setInvestigateDispositionId(Long investigateDispositionId) 
+    {
+        this.investigateDispositionId = investigateDispositionId;
+    }
+
+    public Long getInvestigateDispositionId() 
+    {
+        return investigateDispositionId;
+    }
+    public void setParentId(Long parentId) 
+    {
+        this.parentId = parentId;
+    }
+
+    public Long getParentId() 
+    {
+        return parentId;
+    }
+    public void setAncestors(String ancestors) 
+    {
+        this.ancestors = ancestors;
+    }
+
+    public String getAncestors() 
+    {
+        return ancestors;
+    }
+    public void setOrderNum(Integer orderNum) 
+    {
+        this.orderNum = orderNum;
+    }
+
+    public Integer getOrderNum() 
+    {
+        return orderNum;
+    }
+    public void setTitle(String title) 
+    {
+        this.title = title;
+    }
+
+    public String getTitle() 
+    {
+        return title;
+    }
+    public void setUrl(String url) 
+    {
+        this.url = url;
+    }
+
+    public String getUrl() 
+    {
+        return url;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("investigateDispositionId", getInvestigateDispositionId())
+            .append("parentId", getParentId())
+            .append("ancestors", getAncestors())
+            .append("orderNum", getOrderNum())
+            .append("title", getTitle())
+            .append("url", getUrl())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 50 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateDispositionTable.java

@@ -0,0 +1,50 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 考察配置与考察主关联对象 investigate_disposition_table
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public class InvestigateDispositionTable extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 考察主表id */
+    private Long investigateTableId;
+
+    /** 考察配置表id */
+    private Long investigateDispositionId;
+
+    public void setInvestigateTableId(Long investigateTableId) 
+    {
+        this.investigateTableId = investigateTableId;
+    }
+
+    public Long getInvestigateTableId() 
+    {
+        return investigateTableId;
+    }
+    public void setInvestigateDispositionId(Long investigateDispositionId) 
+    {
+        this.investigateDispositionId = investigateDispositionId;
+    }
+
+    public Long getInvestigateDispositionId() 
+    {
+        return investigateDispositionId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("investigateTableId", getInvestigateTableId())
+            .append("investigateDispositionId", getInvestigateDispositionId())
+            .toString();
+    }
+}

+ 112 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateTable.java

@@ -0,0 +1,112 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 考察主对象 investigate_table
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public class InvestigateTable extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long investigateTableId;
+
+    /** 考察名称 */
+    @Excel(name = "考察名称")
+    private String investigateName;
+
+    /** 考察内容 */
+    @Excel(name = "考察内容")
+    private String content;
+
+    /** 考察截止日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "考察截止日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date endTime;
+
+    /** 访问密码 */
+    @Excel(name = "访问密码")
+    private String cipher;
+
+
+    /** 考察配置组 */
+    private Long[] investigateDispositionTableIds;
+
+    public Long[] getInvestigateDispositionTableIds() {
+        return investigateDispositionTableIds;
+    }
+
+    public void setInvestigateDispositionTableIds(Long[] investigateDispositionTableIds) {
+        this.investigateDispositionTableIds = investigateDispositionTableIds;
+    }
+
+    public Long getInvestigateTableId() {
+        return investigateTableId;
+    }
+
+    public void setInvestigateTableId(Long investigateTableId) {
+        this.investigateTableId = investigateTableId;
+    }
+
+    public void setInvestigateName(String investigateName)
+    {
+        this.investigateName = investigateName;
+    }
+
+    public String getInvestigateName() 
+    {
+        return investigateName;
+    }
+    public void setContent(String content) 
+    {
+        this.content = content;
+    }
+
+    public String getContent() 
+    {
+        return content;
+    }
+    public void setEndTime(Date endTime) 
+    {
+        this.endTime = endTime;
+    }
+
+    public Date getEndTime() 
+    {
+        return endTime;
+    }
+    public void setCipher(String cipher) 
+    {
+        this.cipher = cipher;
+    }
+
+    public String getCipher() 
+    {
+        return cipher;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("investigateTableId", getInvestigateTableId())
+            .append("investigateName", getInvestigateName())
+            .append("content", getContent())
+            .append("endTime", getEndTime())
+            .append("cipher", getCipher())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 129 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/InvestigateUser.java

@@ -0,0 +1,129 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 考察人员信息对象 investigate_user
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public class InvestigateUser extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 用户ID */
+    private Long id;
+
+    /** 考察id */
+    @Excel(name = "考察id")
+    private Long investigateId;
+
+    /** 姓名 */
+    @Excel(name = "姓名")
+    private String userName;
+
+    /** 手机号码 */
+    @Excel(name = "手机号码")
+    private String phonenumber;
+
+    /** 身份证号码 */
+    @Excel(name = "身份证号码")
+    private String idCard;
+
+    /** 职务 */
+    @Excel(name = "职务")
+    private String duty;
+
+    /** 最后登录时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date loginDate;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setInvestigateId(Long investigateId) 
+    {
+        this.investigateId = investigateId;
+    }
+
+    public Long getInvestigateId() 
+    {
+        return investigateId;
+    }
+    public void setUserName(String userName) 
+    {
+        this.userName = userName;
+    }
+
+    public String getUserName() 
+    {
+        return userName;
+    }
+    public void setPhonenumber(String phonenumber) 
+    {
+        this.phonenumber = phonenumber;
+    }
+
+    public String getPhonenumber() 
+    {
+        return phonenumber;
+    }
+    public void setIdCard(String idCard) 
+    {
+        this.idCard = idCard;
+    }
+
+    public String getIdCard() 
+    {
+        return idCard;
+    }
+    public void setDuty(String duty) 
+    {
+        this.duty = duty;
+    }
+
+    public String getDuty() 
+    {
+        return duty;
+    }
+    public void setLoginDate(Date loginDate) 
+    {
+        this.loginDate = loginDate;
+    }
+
+    public Date getLoginDate() 
+    {
+        return loginDate;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("investigateId", getInvestigateId())
+            .append("userName", getUserName())
+            .append("phonenumber", getPhonenumber())
+            .append("idCard", getIdCard())
+            .append("duty", getDuty())
+            .append("loginDate", getLoginDate())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 86 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateDispositionMapper.java

@@ -0,0 +1,86 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.system.domain.InvestigateDisposition;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 考察配置Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface InvestigateDispositionMapper 
+{
+    /**
+     * 查询考察配置
+     * 
+     * @param investigateDispositionId 考察配置主键
+     * @return 考察配置
+     */
+    public InvestigateDisposition selectInvestigateDispositionByInvestigateDispositionId(Long investigateDispositionId);
+
+    /**
+     * 查询考察配置列表
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 考察配置集合
+     */
+    public List<InvestigateDisposition> selectInvestigateDispositionList(InvestigateDisposition investigateDisposition);
+
+    /**
+     * 新增考察配置
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 结果
+     */
+    public int insertInvestigateDisposition(InvestigateDisposition investigateDisposition);
+
+    /**
+     * 修改考察配置
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 结果
+     */
+    public int updateInvestigateDisposition(InvestigateDisposition investigateDisposition);
+
+    /**
+     * 删除考察配置
+     * 
+     * @param investigateDispositionId 考察配置主键
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionByInvestigateDispositionId(Long investigateDispositionId);
+
+    /**
+     * 批量删除考察配置
+     * 
+     * @param investigateDispositionIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionByInvestigateDispositionIds(Long[] investigateDispositionIds);
+
+    /**
+     * 根据考察配置id查询信息
+     * @param investigateDispositionId
+     * @return
+     */
+    public InvestigateDisposition selectInvestigateDispositionById(Long investigateDispositionId);
+
+    /**
+     * 根据ID查询所有子考察配置
+     *
+     * @param investigateDispositionId 考察配置ID
+     * @return 考察配置列表
+     */
+    public List<InvestigateDisposition> selectChildrenInvestigateDispositionById(Long investigateDispositionId);
+    /**
+     * 修改子元素关系
+     *
+     * @param investigateDispositions 子元素
+     * @return 结果
+     */
+    public int updateInvestigateDispositionChildren(@Param("investigateDispositions") List<InvestigateDisposition> investigateDispositions);
+}

+ 70 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateDispositionTableMapper.java

@@ -0,0 +1,70 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.InvestigateDispositionTable;
+import com.ruoyi.system.domain.SysUserPost;
+
+/**
+ * 考察配置与考察主关联Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface InvestigateDispositionTableMapper 
+{
+    /**
+     * 查询考察配置与考察主关联
+     * 
+     * @param investigateTableId 考察配置与考察主关联主键
+     * @return 考察配置与考察主关联
+     */
+    public InvestigateDispositionTable selectInvestigateDispositionTableByInvestigateTableId(Long investigateTableId);
+
+    /**
+     * 查询考察配置与考察主关联列表
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 考察配置与考察主关联集合
+     */
+    public List<InvestigateDispositionTable> selectInvestigateDispositionTableList(InvestigateDispositionTable investigateDispositionTable);
+
+    /**
+     * 新增考察配置与考察主关联
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 结果
+     */
+    public int insertInvestigateDispositionTable(InvestigateDispositionTable investigateDispositionTable);
+
+    /**
+     * 修改考察配置与考察主关联
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 结果
+     */
+    public int updateInvestigateDispositionTable(InvestigateDispositionTable investigateDispositionTable);
+
+    /**
+     * 删除考察配置与考察主关联
+     * 
+     * @param investigateTableId 考察配置与考察主关联主键
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionTableByInvestigateTableId(Long investigateTableId);
+
+    /**
+     * 批量删除考察配置与考察主关联
+     * 
+     * @param investigateTableIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionTableByInvestigateTableIds(Long[] investigateTableIds);
+
+    /**
+     * 批量新增
+     * @param dispositionTableList
+     * @return
+     */
+    public int batchDispositionTable(List<InvestigateDispositionTable> dispositionTableList);
+
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateTableMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.InvestigateTable;
+
+/**
+ * 考察主Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface InvestigateTableMapper 
+{
+    /**
+     * 查询考察主
+     * 
+     * @param id 考察主主键
+     * @return 考察主
+     */
+    public InvestigateTable selectInvestigateTableById(Long id);
+
+    /**
+     * 查询考察主列表
+     * 
+     * @param investigateTable 考察主
+     * @return 考察主集合
+     */
+    public List<InvestigateTable> selectInvestigateTableList(InvestigateTable investigateTable);
+
+    /**
+     * 新增考察主
+     * 
+     * @param investigateTable 考察主
+     * @return 结果
+     */
+    public int insertInvestigateTable(InvestigateTable investigateTable);
+
+    /**
+     * 修改考察主
+     * 
+     * @param investigateTable 考察主
+     * @return 结果
+     */
+    public int updateInvestigateTable(InvestigateTable investigateTable);
+
+    /**
+     * 删除考察主
+     * 
+     * @param id 考察主主键
+     * @return 结果
+     */
+    public int deleteInvestigateTableById(Long id);
+
+    /**
+     * 批量删除考察主
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateTableByIds(Long[] ids);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/InvestigateUserMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.InvestigateUser;
+
+/**
+ * 考察人员信息Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface InvestigateUserMapper 
+{
+    /**
+     * 查询考察人员信息
+     * 
+     * @param id 考察人员信息主键
+     * @return 考察人员信息
+     */
+    public InvestigateUser selectInvestigateUserById(Long id);
+
+    /**
+     * 查询考察人员信息列表
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 考察人员信息集合
+     */
+    public List<InvestigateUser> selectInvestigateUserList(InvestigateUser investigateUser);
+
+    /**
+     * 新增考察人员信息
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 结果
+     */
+    public int insertInvestigateUser(InvestigateUser investigateUser);
+
+    /**
+     * 修改考察人员信息
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 结果
+     */
+    public int updateInvestigateUser(InvestigateUser investigateUser);
+
+    /**
+     * 删除考察人员信息
+     * 
+     * @param id 考察人员信息主键
+     * @return 结果
+     */
+    public int deleteInvestigateUserById(Long id);
+
+    /**
+     * 批量删除考察人员信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateUserByIds(Long[] ids);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateDispositionService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.InvestigateDisposition;
+
+/**
+ * 考察配置Service接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface IInvestigateDispositionService 
+{
+    /**
+     * 查询考察配置
+     * 
+     * @param investigateDispositionId 考察配置主键
+     * @return 考察配置
+     */
+    public InvestigateDisposition selectInvestigateDispositionByInvestigateDispositionId(Long investigateDispositionId);
+
+    /**
+     * 查询考察配置列表
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 考察配置集合
+     */
+    public List<InvestigateDisposition> selectInvestigateDispositionList(InvestigateDisposition investigateDisposition);
+
+    /**
+     * 新增考察配置
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 结果
+     */
+    public int insertInvestigateDisposition(InvestigateDisposition investigateDisposition);
+
+    /**
+     * 修改考察配置
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 结果
+     */
+    public int updateInvestigateDisposition(InvestigateDisposition investigateDisposition);
+
+    /**
+     * 批量删除考察配置
+     * 
+     * @param investigateDispositionIds 需要删除的考察配置主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionByInvestigateDispositionIds(Long[] investigateDispositionIds);
+
+    /**
+     * 删除考察配置信息
+     * 
+     * @param investigateDispositionId 考察配置主键
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionByInvestigateDispositionId(Long investigateDispositionId);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateDispositionTableService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.InvestigateDispositionTable;
+
+/**
+ * 考察配置与考察主关联Service接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface IInvestigateDispositionTableService 
+{
+    /**
+     * 查询考察配置与考察主关联
+     * 
+     * @param investigateTableId 考察配置与考察主关联主键
+     * @return 考察配置与考察主关联
+     */
+    public InvestigateDispositionTable selectInvestigateDispositionTableByInvestigateTableId(Long investigateTableId);
+
+    /**
+     * 查询考察配置与考察主关联列表
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 考察配置与考察主关联集合
+     */
+    public List<InvestigateDispositionTable> selectInvestigateDispositionTableList(InvestigateDispositionTable investigateDispositionTable);
+
+    /**
+     * 新增考察配置与考察主关联
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 结果
+     */
+    public int insertInvestigateDispositionTable(InvestigateDispositionTable investigateDispositionTable);
+
+    /**
+     * 修改考察配置与考察主关联
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 结果
+     */
+    public int updateInvestigateDispositionTable(InvestigateDispositionTable investigateDispositionTable);
+
+    /**
+     * 批量删除考察配置与考察主关联
+     * 
+     * @param investigateTableIds 需要删除的考察配置与考察主关联主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionTableByInvestigateTableIds(Long[] investigateTableIds);
+
+    /**
+     * 删除考察配置与考察主关联信息
+     * 
+     * @param investigateTableId 考察配置与考察主关联主键
+     * @return 结果
+     */
+    public int deleteInvestigateDispositionTableByInvestigateTableId(Long investigateTableId);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateTableService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.InvestigateTable;
+
+/**
+ * 考察主Service接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface IInvestigateTableService 
+{
+    /**
+     * 查询考察主
+     * 
+     * @param id 考察主主键
+     * @return 考察主
+     */
+    public InvestigateTable selectInvestigateTableById(Long id);
+
+    /**
+     * 查询考察主列表
+     * 
+     * @param investigateTable 考察主
+     * @return 考察主集合
+     */
+    public List<InvestigateTable> selectInvestigateTableList(InvestigateTable investigateTable);
+
+    /**
+     * 新增考察主
+     * 
+     * @param investigateTable 考察主
+     * @return 结果
+     */
+    public int insertInvestigateTable(InvestigateTable investigateTable);
+
+    /**
+     * 修改考察主
+     * 
+     * @param investigateTable 考察主
+     * @return 结果
+     */
+    public int updateInvestigateTable(InvestigateTable investigateTable);
+
+    /**
+     * 批量删除考察主
+     * 
+     * @param ids 需要删除的考察主主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateTableByIds(Long[] ids);
+
+    /**
+     * 删除考察主信息
+     * 
+     * @param id 考察主主键
+     * @return 结果
+     */
+    public int deleteInvestigateTableById(Long id);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IInvestigateUserService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.InvestigateUser;
+
+/**
+ * 考察人员信息Service接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+public interface IInvestigateUserService 
+{
+    /**
+     * 查询考察人员信息
+     * 
+     * @param id 考察人员信息主键
+     * @return 考察人员信息
+     */
+    public InvestigateUser selectInvestigateUserById(Long id);
+
+    /**
+     * 查询考察人员信息列表
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 考察人员信息集合
+     */
+    public List<InvestigateUser> selectInvestigateUserList(InvestigateUser investigateUser);
+
+    /**
+     * 新增考察人员信息
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 结果
+     */
+    public int insertInvestigateUser(InvestigateUser investigateUser);
+
+    /**
+     * 修改考察人员信息
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 结果
+     */
+    public int updateInvestigateUser(InvestigateUser investigateUser);
+
+    /**
+     * 批量删除考察人员信息
+     * 
+     * @param ids 需要删除的考察人员信息主键集合
+     * @return 结果
+     */
+    public int deleteInvestigateUserByIds(Long[] ids);
+
+    /**
+     * 删除考察人员信息信息
+     * 
+     * @param id 考察人员信息主键
+     * @return 结果
+     */
+    public int deleteInvestigateUserById(Long id);
+}

+ 130 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateDispositionServiceImpl.java

@@ -0,0 +1,130 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.InvestigateDispositionMapper;
+import com.ruoyi.system.domain.InvestigateDisposition;
+import com.ruoyi.system.service.IInvestigateDispositionService;
+
+/**
+ * 考察配置Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@Service
+public class InvestigateDispositionServiceImpl implements IInvestigateDispositionService 
+{
+    @Autowired
+    private InvestigateDispositionMapper investigateDispositionMapper;
+
+    /**
+     * 查询考察配置
+     * 
+     * @param investigateDispositionId 考察配置主键
+     * @return 考察配置
+     */
+    @Override
+    public InvestigateDisposition selectInvestigateDispositionByInvestigateDispositionId(Long investigateDispositionId)
+    {
+        return investigateDispositionMapper.selectInvestigateDispositionByInvestigateDispositionId(investigateDispositionId);
+    }
+
+    /**
+     * 查询考察配置列表
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 考察配置
+     */
+    @Override
+    public List<InvestigateDisposition> selectInvestigateDispositionList(InvestigateDisposition investigateDisposition)
+    {
+        return investigateDispositionMapper.selectInvestigateDispositionList(investigateDisposition);
+    }
+
+    /**
+     * 新增考察配置
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 结果
+     */
+    @Override
+    public int insertInvestigateDisposition(InvestigateDisposition investigateDisposition)
+    {
+        InvestigateDisposition info = investigateDispositionMapper.selectInvestigateDispositionById(investigateDisposition.getParentId());
+        investigateDisposition.setCreateTime(DateUtils.getNowDate());
+        investigateDisposition.setAncestors(info.getAncestors() + "," + investigateDisposition.getParentId());
+        return investigateDispositionMapper.insertInvestigateDisposition(investigateDisposition);
+    }
+
+    /**
+     * 修改考察配置
+     * 
+     * @param investigateDisposition 考察配置
+     * @return 结果
+     */
+    @Override
+    public int updateInvestigateDisposition(InvestigateDisposition investigateDisposition)
+    {
+        InvestigateDisposition newParentInfo = investigateDispositionMapper.selectInvestigateDispositionById(investigateDisposition.getParentId());
+        InvestigateDisposition oldInfo = investigateDispositionMapper.selectInvestigateDispositionById(investigateDisposition.getInvestigateDispositionId());
+        if (StringUtils.isNotNull(newParentInfo) && StringUtils.isNotNull(oldInfo))
+        {
+            String newAncestors = newParentInfo.getAncestors() + "," + newParentInfo.getInvestigateDispositionId();
+            String oldAncestors = oldInfo.getAncestors();
+            investigateDisposition.setAncestors(newAncestors);
+            updateDeptChildren(investigateDisposition.getInvestigateDispositionId(), newAncestors, oldAncestors);
+        }
+        investigateDisposition.setUpdateTime(DateUtils.getNowDate());
+        return investigateDispositionMapper.updateInvestigateDisposition(investigateDisposition);
+    }
+
+    /**
+     * 修改子元素关系
+     *
+     * @param investigateDispositionId 被修改的考察配置ID
+     * @param newAncestors 新的父ID集合
+     * @param oldAncestors 旧的父ID集合
+     */
+    public void updateDeptChildren(Long investigateDispositionId, String newAncestors, String oldAncestors)
+    {
+        List<InvestigateDisposition> children = investigateDispositionMapper.selectChildrenInvestigateDispositionById(investigateDispositionId);
+
+        for (InvestigateDisposition child : children)
+        {
+            child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
+        }
+        if (children.size() > 0)
+        {
+            investigateDispositionMapper.updateInvestigateDispositionChildren(children);
+        }
+    }
+    /**
+     * 批量删除考察配置
+     * 
+     * @param investigateDispositionIds 需要删除的考察配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateDispositionByInvestigateDispositionIds(Long[] investigateDispositionIds)
+    {
+        return investigateDispositionMapper.deleteInvestigateDispositionByInvestigateDispositionIds(investigateDispositionIds);
+    }
+
+    /**
+     * 删除考察配置信息
+     * 
+     * @param investigateDispositionId 考察配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateDispositionByInvestigateDispositionId(Long investigateDispositionId)
+    {
+        return investigateDispositionMapper.deleteInvestigateDispositionByInvestigateDispositionId(investigateDispositionId);
+    }
+}

+ 93 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateDispositionTableServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.InvestigateDispositionTableMapper;
+import com.ruoyi.system.domain.InvestigateDispositionTable;
+import com.ruoyi.system.service.IInvestigateDispositionTableService;
+
+/**
+ * 考察配置与考察主关联Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@Service
+public class InvestigateDispositionTableServiceImpl implements IInvestigateDispositionTableService 
+{
+    @Autowired
+    private InvestigateDispositionTableMapper investigateDispositionTableMapper;
+
+    /**
+     * 查询考察配置与考察主关联
+     * 
+     * @param investigateTableId 考察配置与考察主关联主键
+     * @return 考察配置与考察主关联
+     */
+    @Override
+    public InvestigateDispositionTable selectInvestigateDispositionTableByInvestigateTableId(Long investigateTableId)
+    {
+        return investigateDispositionTableMapper.selectInvestigateDispositionTableByInvestigateTableId(investigateTableId);
+    }
+
+    /**
+     * 查询考察配置与考察主关联列表
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 考察配置与考察主关联
+     */
+    @Override
+    public List<InvestigateDispositionTable> selectInvestigateDispositionTableList(InvestigateDispositionTable investigateDispositionTable)
+    {
+        return investigateDispositionTableMapper.selectInvestigateDispositionTableList(investigateDispositionTable);
+    }
+
+    /**
+     * 新增考察配置与考察主关联
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 结果
+     */
+    @Override
+    public int insertInvestigateDispositionTable(InvestigateDispositionTable investigateDispositionTable)
+    {
+        return investigateDispositionTableMapper.insertInvestigateDispositionTable(investigateDispositionTable);
+    }
+
+    /**
+     * 修改考察配置与考察主关联
+     * 
+     * @param investigateDispositionTable 考察配置与考察主关联
+     * @return 结果
+     */
+    @Override
+    public int updateInvestigateDispositionTable(InvestigateDispositionTable investigateDispositionTable)
+    {
+        return investigateDispositionTableMapper.updateInvestigateDispositionTable(investigateDispositionTable);
+    }
+
+    /**
+     * 批量删除考察配置与考察主关联
+     * 
+     * @param investigateTableIds 需要删除的考察配置与考察主关联主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateDispositionTableByInvestigateTableIds(Long[] investigateTableIds)
+    {
+        return investigateDispositionTableMapper.deleteInvestigateDispositionTableByInvestigateTableIds(investigateTableIds);
+    }
+
+    /**
+     * 删除考察配置与考察主关联信息
+     * 
+     * @param investigateTableId 考察配置与考察主关联主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateDispositionTableByInvestigateTableId(Long investigateTableId)
+    {
+        return investigateDispositionTableMapper.deleteInvestigateDispositionTableByInvestigateTableId(investigateTableId);
+    }
+}

+ 139 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateTableServiceImpl.java

@@ -0,0 +1,139 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.InvestigateDispositionTable;
+import com.ruoyi.system.domain.SysUserRole;
+import com.ruoyi.system.mapper.InvestigateDispositionTableMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.InvestigateTableMapper;
+import com.ruoyi.system.domain.InvestigateTable;
+import com.ruoyi.system.service.IInvestigateTableService;
+
+/**
+ * 考察主Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@Service
+public class InvestigateTableServiceImpl implements IInvestigateTableService 
+{
+    @Autowired
+    private InvestigateTableMapper investigateTableMapper;
+    @Autowired
+    private InvestigateDispositionTableMapper investigateDispositionTableMapper;
+
+    /**
+     * 查询考察主
+     * 
+     * @param id 考察主主键
+     * @return 考察主
+     */
+    @Override
+    public InvestigateTable selectInvestigateTableById(Long id)
+    {
+        return investigateTableMapper.selectInvestigateTableById(id);
+    }
+
+    /**
+     * 查询考察主列表
+     * 
+     * @param investigateTable 考察主
+     * @return 考察主
+     */
+    @Override
+    public List<InvestigateTable> selectInvestigateTableList(InvestigateTable investigateTable)
+    {
+        return investigateTableMapper.selectInvestigateTableList(investigateTable);
+    }
+
+    /**
+     * 新增考察主
+     * 
+     * @param investigateTable 考察主
+     * @return 结果
+     */
+    @Override
+    public int insertInvestigateTable(InvestigateTable investigateTable)
+    {
+        investigateTable.setCreateTime(DateUtils.getNowDate());
+        //新增考察配置与考察主表关联
+        insertInvestigateDispositionTable(investigateTable);
+        return investigateTableMapper.insertInvestigateTable(investigateTable);
+    }
+
+    /**
+     * 新增考察配置与考察主表关联
+     *
+     * @param investigateTable 考察主表对象
+     */
+    public void insertInvestigateDispositionTable(InvestigateTable investigateTable)
+    {
+        this.insertInvestigateDispositionTable(investigateTable.getInvestigateTableId(), investigateTable.getInvestigateDispositionTableIds());
+    }
+
+    /**
+     * 新增考察配置与考察主表关联
+     *
+     * @param investigateTableId 察主表ID
+     * @param investigateDispositionTableIds 考察配置组
+     */
+    public void insertInvestigateDispositionTable(Long investigateTableId, Long[] investigateDispositionTableIds)
+    {
+        if (StringUtils.isNotEmpty(investigateDispositionTableIds))
+        {
+            // 新增考察配置与考察主表关联
+            List<InvestigateDispositionTable> list = new ArrayList<InvestigateDispositionTable>(investigateDispositionTableIds.length);
+            for (Long dispositionId : investigateDispositionTableIds)
+            {
+                InvestigateDispositionTable investigateDispositionTable = new InvestigateDispositionTable();
+                investigateDispositionTable.setInvestigateTableId(investigateTableId);
+                investigateDispositionTable.setInvestigateDispositionId(dispositionId);
+                list.add(investigateDispositionTable);
+            }
+            investigateDispositionTableMapper.batchDispositionTable(list);
+        }
+    }
+    /**
+     * 修改考察主
+     * 
+     * @param investigateTable 考察主
+     * @return 结果
+     */
+    @Override
+    public int updateInvestigateTable(InvestigateTable investigateTable)
+    {
+        investigateTable.setUpdateTime(DateUtils.getNowDate());
+        return investigateTableMapper.updateInvestigateTable(investigateTable);
+    }
+
+    /**
+     * 批量删除考察主
+     * 
+     * @param ids 需要删除的考察主主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateTableByIds(Long[] ids)
+    {
+        return investigateTableMapper.deleteInvestigateTableByIds(ids);
+    }
+
+    /**
+     * 删除考察主信息
+     * 
+     * @param id 考察主主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateTableById(Long id)
+    {
+        return investigateTableMapper.deleteInvestigateTableById(id);
+    }
+}

+ 96 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/InvestigateUserServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.InvestigateUserMapper;
+import com.ruoyi.system.domain.InvestigateUser;
+import com.ruoyi.system.service.IInvestigateUserService;
+
+/**
+ * 考察人员信息Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2023-10-10
+ */
+@Service
+public class InvestigateUserServiceImpl implements IInvestigateUserService 
+{
+    @Autowired
+    private InvestigateUserMapper investigateUserMapper;
+
+    /**
+     * 查询考察人员信息
+     * 
+     * @param id 考察人员信息主键
+     * @return 考察人员信息
+     */
+    @Override
+    public InvestigateUser selectInvestigateUserById(Long id)
+    {
+        return investigateUserMapper.selectInvestigateUserById(id);
+    }
+
+    /**
+     * 查询考察人员信息列表
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 考察人员信息
+     */
+    @Override
+    public List<InvestigateUser> selectInvestigateUserList(InvestigateUser investigateUser)
+    {
+        return investigateUserMapper.selectInvestigateUserList(investigateUser);
+    }
+
+    /**
+     * 新增考察人员信息
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 结果
+     */
+    @Override
+    public int insertInvestigateUser(InvestigateUser investigateUser)
+    {
+        investigateUser.setCreateTime(DateUtils.getNowDate());
+        return investigateUserMapper.insertInvestigateUser(investigateUser);
+    }
+
+    /**
+     * 修改考察人员信息
+     * 
+     * @param investigateUser 考察人员信息
+     * @return 结果
+     */
+    @Override
+    public int updateInvestigateUser(InvestigateUser investigateUser)
+    {
+        investigateUser.setUpdateTime(DateUtils.getNowDate());
+        return investigateUserMapper.updateInvestigateUser(investigateUser);
+    }
+
+    /**
+     * 批量删除考察人员信息
+     * 
+     * @param ids 需要删除的考察人员信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateUserByIds(Long[] ids)
+    {
+        return investigateUserMapper.deleteInvestigateUserByIds(ids);
+    }
+
+    /**
+     * 删除考察人员信息信息
+     * 
+     * @param id 考察人员信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteInvestigateUserById(Long id)
+    {
+        return investigateUserMapper.deleteInvestigateUserById(id);
+    }
+}

+ 125 - 0
ruoyi-system/src/main/resources/mapper/system/InvestigateDispositionMapper.xml

@@ -0,0 +1,125 @@
+<?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.ruoyi.system.mapper.InvestigateDispositionMapper">
+    
+    <resultMap type="InvestigateDisposition" id="InvestigateDispositionResult">
+        <result property="investigateDispositionId"    column="investigate_disposition_id"    />
+        <result property="parentId"    column="parent_id"    />
+        <result property="ancestors"    column="ancestors"    />
+        <result property="orderNum"    column="order_num"    />
+        <result property="title"    column="title"    />
+        <result property="url"    column="url"    />
+        <result property="status"    column="status"    />
+        <result property="parentName" column="parent_name" />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectInvestigateDispositionVo">
+        select investigate_disposition_id, parent_id, ancestors, order_num, title, url, status, create_by, create_time, update_by, update_time, remark from investigate_disposition
+    </sql>
+
+    <select id="selectInvestigateDispositionList" parameterType="InvestigateDisposition" resultMap="InvestigateDispositionResult">
+        <include refid="selectInvestigateDispositionVo"/>
+        <where>  
+            <if test="parentId != null "> and parent_id = #{parentId}</if>
+            <if test="ancestors != null  and ancestors != ''"> and ancestors = #{ancestors}</if>
+            <if test="orderNum != null "> and order_num = #{orderNum}</if>
+            <if test="title != null  and title != ''"> and title = #{title}</if>
+            <if test="url != null  and url != ''"> and url = #{url}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+    
+    <select id="selectInvestigateDispositionByInvestigateDispositionId" parameterType="Long" resultMap="InvestigateDispositionResult">
+        <include refid="selectInvestigateDispositionVo"/>
+        where investigate_disposition_id = #{investigateDispositionId}
+    </select>
+        
+    <insert id="insertInvestigateDisposition" parameterType="InvestigateDisposition" useGeneratedKeys="true" keyProperty="investigateDispositionId">
+        insert into investigate_disposition
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="parentId != null">parent_id,</if>
+            <if test="ancestors != null">ancestors,</if>
+            <if test="orderNum != null">order_num,</if>
+            <if test="title != null">title,</if>
+            <if test="url != null">url,</if>
+            <if test="status != null">status,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="parentId != null">#{parentId},</if>
+            <if test="ancestors != null">#{ancestors},</if>
+            <if test="orderNum != null">#{orderNum},</if>
+            <if test="title != null">#{title},</if>
+            <if test="url != null">#{url},</if>
+            <if test="status != null">#{status},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateInvestigateDisposition" parameterType="InvestigateDisposition">
+        update investigate_disposition
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="parentId != null">parent_id = #{parentId},</if>
+            <if test="ancestors != null">ancestors = #{ancestors},</if>
+            <if test="orderNum != null">order_num = #{orderNum},</if>
+            <if test="title != null">title = #{title},</if>
+            <if test="url != null">url = #{url},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where investigate_disposition_id = #{investigateDispositionId}
+    </update>
+
+    <delete id="deleteInvestigateDispositionByInvestigateDispositionId" parameterType="Long">
+        delete from investigate_disposition where investigate_disposition_id = #{investigateDispositionId}
+    </delete>
+
+    <delete id="deleteInvestigateDispositionByInvestigateDispositionIds" parameterType="String">
+        delete from investigate_disposition where investigate_disposition_id in 
+        <foreach item="investigateDispositionId" collection="array" open="(" separator="," close=")">
+            #{investigateDispositionId}
+        </foreach>
+    </delete>
+
+    <select id="selectInvestigateDispositionById" parameterType="Long" resultMap="InvestigateDispositionResult">
+        select d.investigate_disposition_id, d.parent_id, d.ancestors, d.order_num, d.title, d.url, d.status,
+            (select title from investigate_disposition where investigate_disposition_id = d.investigate_disposition_id) parent_name
+        from investigate_disposition d
+        where d.investigate_disposition_id = #{investigateDispositionId}
+    </select>
+    <select id="selectChildrenInvestigateDispositionById" parameterType="Long" resultMap="InvestigateDispositionResult">
+        select * from investigate_disposition where find_in_set(#{investigateDispositionId}, ancestors)
+    </select>
+
+    <update id="updateInvestigateDispositionChildren" parameterType="java.util.List">
+        update investigate_disposition set ancestors =
+        <foreach collection="investigateDispositions" item="item" index="index"
+                 separator=" " open="case investigate_disposition_id" close="end">
+            when #{investigateDispositionId} then #{item.ancestors}
+        </foreach>
+        where investigate_disposition_id in
+        <foreach collection="investigateDispositions" item="item" index="index"
+                 separator="," open="(" close=")">
+            #{investigateDispositionId}
+        </foreach>
+    </update>
+</mapper>

+ 64 - 0
ruoyi-system/src/main/resources/mapper/system/InvestigateDispositionTableMapper.xml

@@ -0,0 +1,64 @@
+<?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.ruoyi.system.mapper.InvestigateDispositionTableMapper">
+    
+    <resultMap type="InvestigateDispositionTable" id="InvestigateDispositionTableResult">
+        <result property="investigateTableId"    column="investigate_table_id"    />
+        <result property="investigateDispositionId"    column="investigate_disposition_id"    />
+    </resultMap>
+
+    <sql id="selectInvestigateDispositionTableVo">
+        select investigate_table_id, investigate_disposition_id from investigate_disposition_table
+    </sql>
+
+    <select id="selectInvestigateDispositionTableList" parameterType="InvestigateDispositionTable" resultMap="InvestigateDispositionTableResult">
+        <include refid="selectInvestigateDispositionTableVo"/>
+        <where>  
+        </where>
+    </select>
+    
+    <select id="selectInvestigateDispositionTableByInvestigateTableId" parameterType="Long" resultMap="InvestigateDispositionTableResult">
+        <include refid="selectInvestigateDispositionTableVo"/>
+        where investigate_table_id = #{investigateTableId}
+    </select>
+        
+    <insert id="insertInvestigateDispositionTable" parameterType="InvestigateDispositionTable">
+        insert into investigate_disposition_table
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="investigateTableId != null">investigate_table_id,</if>
+            <if test="investigateDispositionId != null">investigate_disposition_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="investigateTableId != null">#{investigateTableId},</if>
+            <if test="investigateDispositionId != null">#{investigateDispositionId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateInvestigateDispositionTable" parameterType="InvestigateDispositionTable">
+        update investigate_disposition_table
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="investigateDispositionId != null">investigate_disposition_id = #{investigateDispositionId},</if>
+        </trim>
+        where investigate_table_id = #{investigateTableId}
+    </update>
+
+    <delete id="deleteInvestigateDispositionTableByInvestigateTableId" parameterType="Long">
+        delete from investigate_disposition_table where investigate_table_id = #{investigateTableId}
+    </delete>
+
+    <delete id="deleteInvestigateDispositionTableByInvestigateTableIds" parameterType="String">
+        delete from investigate_disposition_table where investigate_table_id in 
+        <foreach item="investigateTableId" collection="array" open="(" separator="," close=")">
+            #{investigateTableId}
+        </foreach>
+    </delete>
+
+    <insert id="batchDispositionTable">
+        insert into investigate_disposition_table(investigate_table_id, investigate_disposition_id) values
+        <foreach item="item" index="index" collection="list" separator=",">
+            (#{investigateTableId},#{investigateDispositionId})
+        </foreach>
+    </insert>
+</mapper>

+ 91 - 0
ruoyi-system/src/main/resources/mapper/system/InvestigateTableMapper.xml

@@ -0,0 +1,91 @@
+<?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.ruoyi.system.mapper.InvestigateTableMapper">
+    
+    <resultMap type="InvestigateTable" id="InvestigateTableResult">
+        <result property="investigateTableId"    column="investigate_table_id"    />
+        <result property="investigateName"    column="investigate_name"    />
+        <result property="content"    column="content"    />
+        <result property="endTime"    column="end_time"    />
+        <result property="cipher"    column="cipher"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectInvestigateTableVo">
+        select investigate_table_id, investigate_name, content, end_time, cipher, create_by, create_time, update_by, update_time, remark from investigate_table
+    </sql>
+
+    <select id="selectInvestigateTableList" parameterType="InvestigateTable" resultMap="InvestigateTableResult">
+        <include refid="selectInvestigateTableVo"/>
+        <where>  
+            <if test="investigateName != null  and investigateName != ''"> and investigate_name like concat('%', #{investigateName}, '%')</if>
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+            <if test="cipher != null  and cipher != ''"> and cipher = #{cipher}</if>
+        </where>
+    </select>
+    
+    <select id="selectInvestigateTableById" parameterType="Long" resultMap="InvestigateTableResult">
+        <include refid="selectInvestigateTableVo"/>
+        where investigate_table_id = #{investigateTableId}
+    </select>
+        
+    <insert id="insertInvestigateTable" parameterType="InvestigateTable" useGeneratedKeys="true" keyProperty="id">
+        insert into investigate_table
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="investigateName != null">investigate_name,</if>
+            <if test="content != null">content,</if>
+            <if test="endTime != null">end_time,</if>
+            <if test="cipher != null">cipher,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="investigateName != null">#{investigateName},</if>
+            <if test="content != null">#{content},</if>
+            <if test="endTime != null">#{endTime},</if>
+            <if test="cipher != null">#{cipher},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateInvestigateTable" parameterType="InvestigateTable">
+        update investigate_table
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="investigateName != null">investigate_name = #{investigateName},</if>
+            <if test="content != null">content = #{content},</if>
+            <if test="endTime != null">end_time = #{endTime},</if>
+            <if test="cipher != null">cipher = #{cipher},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where investigate_table_id = #{investigateTableId}
+    </update>
+
+    <delete id="deleteInvestigateTableById" parameterType="Long">
+        delete from investigate_table where investigate_table_id = #{investigateTableId}
+    </delete>
+
+    <delete id="deleteInvestigateTableByIds" parameterType="String">
+        delete from investigate_table where investigate_table_id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 101 - 0
ruoyi-system/src/main/resources/mapper/system/InvestigateUserMapper.xml

@@ -0,0 +1,101 @@
+<?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.ruoyi.system.mapper.InvestigateUserMapper">
+    
+    <resultMap type="InvestigateUser" id="InvestigateUserResult">
+        <result property="id"    column="id"    />
+        <result property="investigateId"    column="investigate_id"    />
+        <result property="userName"    column="user_name"    />
+        <result property="phonenumber"    column="phonenumber"    />
+        <result property="idCard"    column="id_card"    />
+        <result property="duty"    column="duty"    />
+        <result property="loginDate"    column="login_date"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectInvestigateUserVo">
+        select id, investigate_id, user_name, phonenumber, id_card, duty, login_date, create_by, create_time, update_by, update_time, remark from investigate_user
+    </sql>
+
+    <select id="selectInvestigateUserList" parameterType="InvestigateUser" resultMap="InvestigateUserResult">
+        <include refid="selectInvestigateUserVo"/>
+        <where>  
+            <if test="investigateId != null "> and investigate_id = #{investigateId}</if>
+            <if test="userName != null  and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
+            <if test="phonenumber != null  and phonenumber != ''"> and phonenumber = #{phonenumber}</if>
+            <if test="idCard != null  and idCard != ''"> and id_card = #{idCard}</if>
+            <if test="duty != null  and duty != ''"> and duty = #{duty}</if>
+            <if test="loginDate != null "> and login_date = #{loginDate}</if>
+        </where>
+    </select>
+    
+    <select id="selectInvestigateUserById" parameterType="Long" resultMap="InvestigateUserResult">
+        <include refid="selectInvestigateUserVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertInvestigateUser" parameterType="InvestigateUser" useGeneratedKeys="true" keyProperty="id">
+        insert into investigate_user
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="investigateId != null">investigate_id,</if>
+            <if test="userName != null and userName != ''">user_name,</if>
+            <if test="phonenumber != null">phonenumber,</if>
+            <if test="idCard != null">id_card,</if>
+            <if test="duty != null">duty,</if>
+            <if test="loginDate != null">login_date,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="investigateId != null">#{investigateId},</if>
+            <if test="userName != null and userName != ''">#{userName},</if>
+            <if test="phonenumber != null">#{phonenumber},</if>
+            <if test="idCard != null">#{idCard},</if>
+            <if test="duty != null">#{duty},</if>
+            <if test="loginDate != null">#{loginDate},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateInvestigateUser" parameterType="InvestigateUser">
+        update investigate_user
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="investigateId != null">investigate_id = #{investigateId},</if>
+            <if test="userName != null and userName != ''">user_name = #{userName},</if>
+            <if test="phonenumber != null">phonenumber = #{phonenumber},</if>
+            <if test="idCard != null">id_card = #{idCard},</if>
+            <if test="duty != null">duty = #{duty},</if>
+            <if test="loginDate != null">login_date = #{loginDate},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteInvestigateUserById" parameterType="Long">
+        delete from investigate_user where id = #{id}
+    </delete>
+
+    <delete id="deleteInvestigateUserByIds" parameterType="String">
+        delete from investigate_user where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>