From a085e789a2225fd88b4f739828273e0a85b1fb13 Mon Sep 17 00:00:00 2001
From: luqingyang <lqy5492@163.com>
Date: 星期四, 26 十月 2023 11:21:36 +0800
Subject: [PATCH] 部门管理 相关代码

---
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java |  138 +++++++++++++++++++
 consum-base/src/main/java/com/consum/base/service/FinSysTenantDepartmentServiceImpl.java   |  152 +++++++++++++++++++++
 consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java            |   90 ++++++++++++
 consum-base/src/main/java/com/consum/base/Constants.java                                   |    5 
 consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java           |    6 
 5 files changed, 386 insertions(+), 5 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/Constants.java b/consum-base/src/main/java/com/consum/base/Constants.java
index 177ffd2..199f646 100644
--- a/consum-base/src/main/java/com/consum/base/Constants.java
+++ b/consum-base/src/main/java/com/consum/base/Constants.java
@@ -53,4 +53,9 @@
     public static final Integer STATES_DISABLE = 2;
     public static final Integer STATES_DELETED = 3;
 
+    //is_delete 閫昏緫鍒犻櫎(0 鍚� 1 鏄�)
+    public static final Integer IS_DELETE_NO = 0;
+    public static final Integer IS_DELETE_YES = 1;
+
+
 }
diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java b/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
index a80b792..2603a6b 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
@@ -86,11 +86,7 @@
         if (baseCategory.getOrderNumber() == null) {
             return ResponseValue.error("椤哄簭鍙蜂负绌�");
         }
-        //鍒ゆ柇鍚屼竴鐖剁被id涓嬪垎绫诲悕绉版槸鍚﹂噸澶�
-        BaseCategory category = this.baseCategoryService.getByCategoryNameAndFatherCategoryId(baseCategory.getCategoryName(), baseCategory.getFatherCategoryId());
-        if (category != null) {
-            return ResponseValue.error("鍒嗙被鍚嶇О宸插瓨鍦�");
-        }
+
         S_user_core currentUser = this.getCurrentUser();
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
new file mode 100644
index 0000000..37eef96
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
@@ -0,0 +1,138 @@
+package com.consum.base.controller;
+
+import com.consum.base.BaseController;
+import com.consum.base.pojo.FinSysTenantDepartmentParam;
+import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
+import com.consum.base.service.FinSysTenantServiceImpl;
+import com.consum.model.po.BaseCategory;
+import com.consum.model.po.FinSysTenant;
+import com.consum.model.po.FinSysTenantDepartment;
+import com.consum.model.po.FinSysTenantUser;
+import com.iplatform.model.po.S_user_core;
+import com.walker.db.page.GenericPager;
+import com.walker.infrastructure.utils.StringUtils;
+import com.walker.web.ResponseValue;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Description 閮ㄩ棬绠$悊
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/10/26
+ */
+@RestController
+@RequestMapping("/pc/fin/sys/tenant/department")
+public class FinSysTenantDepartmentController extends BaseController {
+
+    @Autowired
+    private FinSysTenantDepartmentServiceImpl departmentService;
+    @Autowired
+    private FinSysTenantServiceImpl finSysTenantService;
+
+    /**
+     * @Description 鏂板
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/25
+     */
+    @PostMapping("/add")
+    public ResponseValue add(@RequestBody FinSysTenantDepartmentParam param) {
+        if (StringUtils.isEmpty(param.getName())) {
+            return ResponseValue.error("閮ㄩ棬鍚嶇О涓虹┖");
+        }
+        if (StringUtils.isEmpty(param.getCode())) {
+            return ResponseValue.error("缂栧彿涓虹┖");
+        }
+        FinSysTenantDepartment tenantDepartment = this.departmentService.selectByCode(param.getCode());
+        if (tenantDepartment != null) {
+            return ResponseValue.error("閮ㄩ棬缂栧彿宸插瓨鍦�");
+        }
+        //鍒ゆ柇鍚屼竴鏈烘瀯id涓� 閮ㄩ棬鍚嶇О 鏄惁閲嶅
+        FinSysTenantDepartment department = this.departmentService.getByNameAndTenantId(param.getName(),param.getTenantId());
+        if (department != null) {
+            return ResponseValue.error("閮ㄩ棬鍚嶇О宸插瓨鍦�");
+        }
+
+        int result = this.departmentService.add(param, this.getSysInfo());
+        if (result > 0) return ResponseValue.success(1);
+        return ResponseValue.error("鏂板澶辫触锛�");
+    }
+
+    /**
+     * @Description 閮ㄩ棬鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    //濡傛灉涓嶄紶鏈烘瀯id锛岄粯璁ゆ煡鐪佺骇鏈烘瀯鐨勯儴闂�
+    @GetMapping("/list")
+    public ResponseValue queryList(FinSysTenantDepartmentParam param) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        GenericPager<FinSysTenantDepartment> pager = this.departmentService.queryList(param);
+        return ResponseValue.success(pager);
+    }
+
+    /**
+     * @Description 缂栬緫(淇敼鐘舵��)
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    @PostMapping("/edit")
+    public ResponseValue edit(@RequestBody FinSysTenantDepartment department) {
+        Long id = department.getId();
+        if (id == null || id <= 0) {
+            return ResponseValue.error("缂栬緫鐨勯儴闂ㄤ笉瀛樺湪");
+        }
+        if (StringUtils.isEmpty(department.getName())) {
+            return ResponseValue.error("閮ㄩ棬鍚嶇О涓虹┖");
+        }
+        if (StringUtils.isEmpty(department.getCode())) {
+            return ResponseValue.error("閮ㄩ棬缂栧彿涓虹┖");
+        }
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+
+        int num = this.departmentService.updateFinSysTenantDepartment(department,sysInfo);
+        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("缂栬緫澶辫触锛�");
+    }
+
+    /**
+     * 鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬璇︽儏
+     * @author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    @GetMapping("/detail")
+    public ResponseValue getById(Long id) {
+        if (id == null) {
+            return ResponseValue.error("閮ㄩ棬id涓虹┖");
+        }
+        FinSysTenantDepartment department = this.departmentService.getById(id);
+        if (department == null) return ResponseValue.error("鏌ヨ澶辫触锛�");
+        return ResponseValue.success("鏌ヨ鎴愬姛!", department);
+    }
+
+    /**
+     * @Description 鏍规嵁id鍒犻櫎閮ㄩ棬
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    @DeleteMapping("/del")
+    public ResponseValue updateById(@RequestBody FinSysTenantDepartment department) {
+        if (department.getId() == null) {
+            return ResponseValue.error("閮ㄩ棬id涓虹┖");
+        }
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        int num = this.departmentService.updateById(department,sysInfo);
+
+        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鍒犻櫎澶辫触锛�");
+    }
+
+
+}
+
diff --git a/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java
new file mode 100644
index 0000000..9fadc2b
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java
@@ -0,0 +1,90 @@
+package com.consum.base.pojo;
+
+import com.walker.web.param.ParamRequest;
+
+public class FinSysTenantDepartmentParam extends ParamRequest {
+    /**
+     * id
+     */
+    private Long id;
+    /**
+     * 缂栧彿
+     */
+    private String code;
+    /**
+     * 閮ㄩ棬鍚嶇О
+     */
+    private String name;
+    /**
+     * 椤哄簭鍙�
+     */
+    private Integer orderNum;
+    /**
+     * 鐘舵��
+     */
+    private Integer status;
+    /**
+     * 澶囨敞
+     */
+    private String summary;
+    /**
+     * 鏈烘瀯id
+     */
+    private Long tenantId;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getOrderNum() {
+        return orderNum;
+    }
+
+    public void setOrderNum(Integer orderNum) {
+        this.orderNum = orderNum;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getSummary() {
+        return summary;
+    }
+
+    public void setSummary(String summary) {
+        this.summary = summary;
+    }
+
+    public Long getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(Long tenantId) {
+        this.tenantId = tenantId;
+    }
+}
diff --git a/consum-base/src/main/java/com/consum/base/service/FinSysTenantDepartmentServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/FinSysTenantDepartmentServiceImpl.java
new file mode 100644
index 0000000..95321c8
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/service/FinSysTenantDepartmentServiceImpl.java
@@ -0,0 +1,152 @@
+package com.consum.base.service;
+
+import com.consum.base.Constants;
+import com.consum.base.pojo.FinSysTenantDepartmentParam;
+import com.consum.base.util.IdUtil;
+import com.consum.model.po.BaseCategory;
+import com.consum.model.po.FinSysTenant;
+import com.consum.model.po.FinSysTenantDepartment;
+import com.consum.model.po.FinSysTenantUser;
+import com.iplatform.model.po.S_user_core;
+import com.walker.db.page.GenericPager;
+import com.walker.infrastructure.utils.DateUtils;
+import com.walker.infrastructure.utils.StringUtils;
+import com.walker.jdbc.service.BaseServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description 閮ㄩ棬绠$悊
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/10/26
+ */
+@Service
+public class FinSysTenantDepartmentServiceImpl extends BaseServiceImpl {
+
+    private static final String QUERY_BY_CODE = "SELECT * FROM fin_sys_tenant_department WHERE CODE = ?";
+
+    /**
+     * @Description  鏍规嵁 閮ㄩ棬鍚嶇О鍜屾満鏋刬d 鏌ヨ閮ㄩ棬
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    public FinSysTenantDepartment getByNameAndTenantId(String name,Long tenantId) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM fin_sys_tenant_department WHERE 1 = 1 ");
+        HashMap<String, Object> paramts = new HashMap<>();
+
+        //閮ㄩ棬鍚嶇О
+        if (!StringUtils.isEmpty(name)) {
+            sql.append(" and name =:name ");
+            paramts.put("name", name);
+        }
+        //鏈烘瀯id
+        if (tenantId != null) {
+            sql.append(" and TENANT_ID =:TENANT_ID ");
+            paramts.put("TENANT_ID", tenantId);
+        }
+
+        return this.get(sql.toString(), paramts, new FinSysTenantDepartment());
+    }
+
+    /**
+     * @Description  鏂板
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    public int add(FinSysTenantDepartmentParam param, FinSysTenantUser sysInfo) {
+        FinSysTenantDepartment department = new FinSysTenantDepartment();
+        BeanUtils.copyProperties(param, department);
+        department.setId(IdUtil.generateId());
+
+        //鍒涘缓浜哄鍚�
+        department.setCreateBy(sysInfo.getUserName());
+        //鍒涘缓鏃堕棿
+        department.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+
+        return this.insert(department);
+    }
+
+    /**
+     * @Description 閮ㄩ棬鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    public GenericPager<FinSysTenantDepartment> queryList(FinSysTenantDepartmentParam param) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM fin_sys_tenant_department WHERE 1 = 1 and is_delete = 0 ");
+        HashMap<String, Object> paramts = new HashMap<>();
+
+        //閮ㄩ棬鍚嶇О
+        if (!StringUtils.isEmpty(param.getName())) {
+            sql.append(" and name like:name ");
+            paramts.put("name", StringUtils.CHAR_PERCENT + param.getName() + StringUtils.CHAR_PERCENT);
+        }
+        //缂栧彿
+        if (!StringUtils.isEmpty(param.getCode())) {
+            sql.append(" and code like:code ");
+            paramts.put("code", StringUtils.CHAR_PERCENT + param.getCode() + StringUtils.CHAR_PERCENT);
+        }
+        //鐘舵��
+        if (param.getStatus() != null) {
+            sql.append(" and status =:status ");
+            paramts.put("status", param.getStatus());
+        }
+        //鏈烘瀯id
+        if (param.getTenantId() != null) {
+            sql.append(" and TENANT_ID =:TENANT_ID ");
+            paramts.put("TENANT_ID", param.getTenantId());
+        } else {
+            sql.append(" and TENANT_ID = 100 ");
+        }
+
+        sql.append(" ORDER BY ORDER_NUM,CREATE_TIME DESC ");
+        return selectSplit(sql.toString(), paramts, new FinSysTenantDepartment());
+    }
+
+    public FinSysTenantDepartment selectByCode(String code) {
+        List<FinSysTenantDepartment> select = this.select(QUERY_BY_CODE, new Object[]{code}, new FinSysTenantDepartment());
+        if (StringUtils.isEmptyList(select)) {
+            return null;
+        } else {
+            return select.get(0);
+        }
+    }
+
+    /**
+     * @Description 缂栬緫
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    public int updateFinSysTenantDepartment(FinSysTenantDepartment department, FinSysTenantUser sysInfo) {
+        department.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+        department.setUpdateBy(sysInfo.getUserName());
+        return this.update(department);
+    }
+
+    /**
+     * 鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬璇︽儏
+     * @author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     */
+    public FinSysTenantDepartment getById(Long id) {
+        return this.get(new FinSysTenantDepartment(id));
+    }
+
+    /**
+     * @Description 鏍规嵁id鍒犻櫎閮ㄩ棬
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/26
+     * @param department
+     * @param currentUser
+     */
+    public int updateById(FinSysTenantDepartment department, FinSysTenantUser currentUser) {
+        department.setIsDelete(Constants.IS_DELETE_YES);
+        //鍒犻櫎鏃堕棿
+        department.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+        //鍒犻櫎浜哄鍚�
+        department.setUpdateBy(currentUser.getUserName());
+        return this.update(department);
+    }
+}

--
Gitblit v1.9.1