6 Commits b9c81980fa ... d52cc81660

Autor SHA1 Mensagem Data
  wanghongzhi d52cc81660 1125需要变更 há 1 ano atrás
  wanghongzhi d7bdccb5c1 1125需要变更 há 1 ano atrás
  wanghongzhi ed3b9814b9 1125需要变更 há 1 ano atrás
  wanghongzhi 1900e3bcd5 1125需要变更 há 1 ano atrás
  wanghongzhi 6decd7c2b9 1125需要变更 há 1 ano atrás
  wanghongzhi fa3ae17701 1125需要变更 há 1 ano atrás
28 ficheiros alterados com 245 adições e 7 exclusões
  1. 5 0
      easydo-chengfa/pom.xml
  2. 2 1
      easydo-chengfa/src/main/java/easydo/technology/config/WebLogAspect.java
  3. 52 0
      easydo-chengfa/src/main/java/easydo/technology/controller/GLDMasterController.java
  4. 1 0
      easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseAnswerSignController.java
  5. 1 0
      easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseApplyController.java
  6. 1 0
      easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseBidNoticeController.java
  7. 1 0
      easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseBidSignController.java
  8. 9 0
      easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseController.java
  9. 1 0
      easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseMatterController.java
  10. 9 2
      easydo-chengfa/src/main/java/easydo/technology/controller/PurchasePlanController.java
  11. 74 0
      easydo-chengfa/src/main/java/easydo/technology/controller/UserProjectRefController.java
  12. 2 2
      easydo-chengfa/src/main/java/easydo/technology/enums/ChengfaEnum.java
  13. 3 0
      easydo-chengfa/src/main/java/easydo/technology/model/Purchase.java
  14. 3 0
      easydo-chengfa/src/main/java/easydo/technology/model/PurchaseAnswerSign.java
  15. 3 0
      easydo-chengfa/src/main/java/easydo/technology/model/PurchaseBidNotice.java
  16. 3 0
      easydo-chengfa/src/main/java/easydo/technology/model/PurchaseBidSign.java
  17. 1 1
      easydo-chengfa/src/main/java/easydo/technology/model/PurchaseContract.java
  18. 3 0
      easydo-chengfa/src/main/java/easydo/technology/model/PurchaseMatter.java
  19. 3 0
      easydo-chengfa/src/main/java/easydo/technology/model/PurchasePlan.java
  20. 1 0
      easydo-chengfa/src/main/java/easydo/technology/quartz/task/JobTask.java
  21. 15 0
      easydo-chengfa/src/main/java/easydo/technology/service/GLDApproveService.java
  22. 1 0
      easydo-chengfa/src/main/resources/config/application-dev.yml
  23. 1 0
      easydo-chengfa/src/main/resources/config/application-prod.yml
  24. 1 0
      easydo-chengfa/src/main/resources/config/application-test.yml
  25. 21 1
      easydo-common/src/main/java/easydo/technology/utils/ResultSetUtil.java
  26. 14 0
      easydo-system/src/main/java/easydo/technology/system/domain/UserProjectRef.java
  27. 2 0
      easydo-system/src/main/java/easydo/technology/system/dto/UserDto.java
  28. 12 0
      easydo-system/src/main/java/easydo/technology/system/security/rest/AuthorizationController.java

+ 5 - 0
easydo-chengfa/pom.xml

@@ -97,6 +97,11 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-json</artifactId>
         </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.3.10</version>
+        </dependency>
         <!-- <dependency>
             <groupId>org.elasticsearch.client</groupId>
             <artifactId>elasticsearch-rest-high-level-client</artifactId>

+ 2 - 1
easydo-chengfa/src/main/java/easydo/technology/config/WebLogAspect.java

@@ -1,5 +1,6 @@
 package easydo.technology.config;
 
+import cn.hutool.extra.servlet.ServletUtil;
 import com.google.gson.Gson;
 
 import easydo.technology.annotation.WebLog;
@@ -50,7 +51,7 @@ public class WebLogAspect {
         // 打印请求 url
         logger.info("URL======>{},Class Method======>{}.{},Request Args======>{},Ip======>{}", request.getRequestURL().toString(),
                 joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName(),
-                new Gson().toJson(joinPoint.getArgs()),request.getRemoteAddr());
+                new Gson().toJson(joinPoint.getArgs()), ServletUtil.getClientIP(request));
 
     }
 

+ 52 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/GLDMasterController.java

@@ -1,9 +1,16 @@
 package easydo.technology.controller;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import easydo.technology.annotation.WebLog;
 import easydo.technology.components.JdbcClient;
 import easydo.technology.model.ApproveInfo;
+import easydo.technology.model.GldDept;
+import easydo.technology.model.GldMember;
+import easydo.technology.model.SysUser;
+import easydo.technology.service.GLDApproveService;
 import easydo.technology.service.GLDMasterService;
+import easydo.technology.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -15,14 +22,19 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import javax.sql.DataSource;
 import java.sql.Connection;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/gldMaster")
 public class GLDMasterController {
     @Resource
     GLDMasterService gldMasterService;
+    @Resource
+    GLDApproveService gldApproveService;
     @Value("${GLD.APPROVE.mgtGroupId}")
     String mgtGroupId;
     @Value("${tenantId_gld_master}")
@@ -69,4 +81,44 @@ public class GLDMasterController {
         gldMasterService.removeToken();
         return new ResponseEntity<>(HttpStatus.OK);
     }
+
+    @WebLog
+    @RequestMapping("/getUserDeptList")
+    public Object getUserDeptList(@RequestBody SysUser user) throws Exception {
+        if (StringUtil.isEmpty(user.getPhone())) {
+            throw new Exception("参数错误");
+        }
+
+        Connection connection = null;
+        try {
+            connection = dataSource.getConnection();
+
+            GldMember gldMember = new GldMember();
+            gldMember.setPhone(user.getPhone());
+            gldMember.setActive(true);
+            gldMember.setEnabled(true);
+            gldMember = jdbcClient.getJdbcModel(gldMember, connection);
+
+            if (StringUtil.isEmpty(gldMember.getId())) {
+                throw new Exception("手机号参数错误或缺失");
+            }
+
+            JSONArray list = gldApproveService.getUserDeptList(gldMember.getUserId());
+            List<GldDept> deptList = new ArrayList<>();
+            for (Object object : list) {
+                JSONObject obj = (JSONObject) object;
+                Long deptId = obj.getLong("deptId");
+                GldDept gldDept = new GldDept();
+                gldDept.setId(deptId.toString());
+                gldDept = jdbcClient.getJdbcModel(gldDept, connection);
+                deptList.add(gldDept);
+            }
+            deptList = deptList.stream().filter(model->!"内部单位".equals(model.getName())).collect(Collectors.toList());
+            return new ResponseEntity<>(deptList, HttpStatus.OK);
+        } catch (Exception e) {
+            throw e;
+        } finally {
+            jdbcClient.finallyExecute(connection);
+        }
+    }
 }

+ 1 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseAnswerSignController.java

@@ -86,6 +86,7 @@ public class PurchaseAnswerSignController {
             vo.setTargetType(ChengfaEnum.BUS_APPROVE_TYPE_PURCHASE_ANSWER_SIGN.getValue());
             vo.setTemplateId(model.getTemplateId());
             vo.setUserTaskAssigneePropsList(model.getUserTaskAssigneePropsList());
+            vo.setExtData(model.getExtData());
             String taskId = gldApproveService.startApprove(vo);
             vo.setTaskId(taskId);
             vo = gldApproveService.getApproveInfo(vo);

+ 1 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseApplyController.java

@@ -148,6 +148,7 @@ public class PurchaseApplyController {
             vo.setTargetType(ChengfaEnum.BUS_APPROVE_TYPE_PURCHASE.getValue());
             vo.setTemplateId(model.getTemplateId());
             vo.setUserTaskAssigneePropsList(model.getUserTaskAssigneePropsList());
+            vo.setExtData(model.getExtData());
             String taskId = gldApproveService.startApprove(vo);
             vo.setTaskId(taskId);
             vo = gldApproveService.getApproveInfo(vo);

+ 1 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseBidNoticeController.java

@@ -96,6 +96,7 @@ public class PurchaseBidNoticeController {
             vo.setTargetType(ChengfaEnum.BUS_APPROVE_TYPE_PURCHASE_BID_NOTICE.getValue());
             vo.setTemplateId(model.getTemplateId());
             vo.setUserTaskAssigneePropsList(model.getUserTaskAssigneePropsList());
+            vo.setExtData(model.getExtData());
             String taskId = gldApproveService.startApprove(vo);
             vo.setTaskId(taskId);
             vo = gldApproveService.getApproveInfo(vo);

+ 1 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseBidSignController.java

@@ -85,6 +85,7 @@ public class PurchaseBidSignController {
             vo.setTargetType(ChengfaEnum.BUS_APPROVE_TYPE_PURCHASE_BID_SIGN.getValue());
             vo.setTemplateId(model.getTemplateId());
             vo.setUserTaskAssigneePropsList(model.getUserTaskAssigneePropsList());
+            vo.setExtData(model.getExtData());
             String taskId = gldApproveService.startApprove(vo);
             vo.setTaskId(taskId);
             vo = gldApproveService.getApproveInfo(vo);

+ 9 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseController.java

@@ -59,9 +59,13 @@ public class PurchaseController {
         Map<String, Object> paramMap = new HashMap<>();
         try {
             connection = dataSource.getConnection();
+            if (map.containsKey("applySql")) {
+                paramMap.put("applySql", map.get("applySql"));
+            }
             List<Purchase> filter = jdbcClient.getJdbcList(paramMap, Purchase.class, connection);
             List<String> purchaseIdList = filter.stream().map(Purchase::getId).collect(Collectors.toList());
 
+            paramMap.clear();
             boolean isNeedIdFilter = false;
             if (map.containsKey("contractNo") && StringUtil.isNotEmpty(map.get("contractNo"))) {
                 String contractNo = map.get("contractNo").toString();
@@ -256,6 +260,7 @@ public class PurchaseController {
 
     @WebLog
     @RequestMapping(value = "/getPage2")
+    @Deprecated
     public Object getPage2(@RequestBody Map<String, Object> map) throws Exception {
         Connection connection = null;
         try {
@@ -412,6 +417,10 @@ public class PurchaseController {
             String sql = "select sum(sign_amount) as sign_amount from purchase_contract";
 
             Map<String, Object> paramMap = new HashMap<>();
+            if (map.containsKey("applySql")) {
+                paramMap.put("applySql", map.get("applySql"));
+            }
+
             PurchaseContract contract = jdbcClient.getJdbcModelByMap(paramMap, sql, PurchaseContract.class, connection);
             result.put("contractAmount", contract.getSignAmount());
 

+ 1 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/PurchaseMatterController.java

@@ -91,6 +91,7 @@ public class PurchaseMatterController {
             vo.setTargetType(ChengfaEnum.BUS_APPROVE_TYPE_PURCHASE_MATTER.getValue());
             vo.setTemplateId(model.getTemplateId());
             vo.setUserTaskAssigneePropsList(model.getUserTaskAssigneePropsList());
+            vo.setExtData(model.getExtData());
             String taskId = gldApproveService.startApprove(vo);
             vo.setTaskId(taskId);
             vo = gldApproveService.getApproveInfo(vo);

+ 9 - 2
easydo-chengfa/src/main/java/easydo/technology/controller/PurchasePlanController.java

@@ -63,7 +63,7 @@ public class PurchasePlanController {
 
     @WebLog
     @RequestMapping(value = "/getSelectPage")
-    public Object getSelectPage(@RequestBody Map<String, Object> map)throws Exception {
+    public Object getSelectPage(@RequestBody Map<String, Object> map) throws Exception {
         Connection connection = null;
         try {
             connection = dataSource.getConnection();
@@ -95,7 +95,7 @@ public class PurchasePlanController {
 
     @WebLog
     @RequestMapping(value = "/getTongji")
-    public Object getTongji(@RequestBody Map<String, Object> map) throws Exception{
+    public Object getTongji(@RequestBody Map<String, Object> map) throws Exception {
         Map<String, Object> result = new HashMap<>();
         Connection connection = null;
         try {
@@ -105,12 +105,18 @@ public class PurchasePlanController {
             Map<String, Object> paramMap = new HashMap<>();
             paramMap.put("createTimeBegin", map.get("yearCreateTimeBegin"));
             paramMap.put("createTimeEnd", map.get("yearCreateTimeEnd"));
+            if (map.containsKey("applySql")) {
+                paramMap.put("applySql", map.get("applySql"));
+            }
             PurchasePlan purchasePlan = jdbcClient.getJdbcModelByMap(paramMap, sql, PurchasePlan.class, connection);
             result.put("yearBudgetAmount", purchasePlan.getBudgetAmount());
 
             paramMap.clear();
             paramMap.put("createTimeBegin", map.get("monthCreateTimeBegin"));
             paramMap.put("createTimeEnd", map.get("monthCreateTimeEnd"));
+            if (map.containsKey("applySql")) {
+                paramMap.put("applySql", map.get("applySql"));
+            }
             purchasePlan = jdbcClient.getJdbcModelByMap(paramMap, sql, PurchasePlan.class, connection);
             result.put("monthBudgetAmount", purchasePlan.getBudgetAmount());
 
@@ -183,6 +189,7 @@ public class PurchasePlanController {
             vo.setTargetType(ChengfaEnum.BUS_APPROVE_TYPE_PURCHASE_PLAN.getValue());
             vo.setTemplateId(model.getTemplateId());
             vo.setUserTaskAssigneePropsList(model.getUserTaskAssigneePropsList());
+            vo.setExtData(model.getExtData());
             String taskId = gldApproveService.startApprove(vo);
             vo.setTaskId(taskId);
             vo = gldApproveService.getApproveInfo(vo);

+ 74 - 0
easydo-chengfa/src/main/java/easydo/technology/controller/UserProjectRefController.java

@@ -0,0 +1,74 @@
+package easydo.technology.controller;
+
+import easydo.technology.annotation.WebLog;
+import easydo.technology.components.JdbcClient;
+import easydo.technology.system.domain.UserProjectRef;
+import easydo.technology.utils.StringUtil;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.sql.DataSource;
+import java.sql.Connection;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/userProjectRef")
+public class UserProjectRefController {
+    @Resource
+    JdbcClient jdbcClient;
+    @Resource
+    DataSource dataSource;
+
+    @WebLog
+    @RequestMapping(value = "/getList")
+    public Object getList(@RequestBody Map<String, Object> map) throws Exception {
+        Connection connection = null;
+        try {
+            connection = dataSource.getConnection();
+
+            List<UserProjectRef> list = jdbcClient.getJdbcList(map, UserProjectRef.class, connection);
+            return new ResponseEntity<>(list, HttpStatus.OK);
+        } catch (Exception e) {
+            throw e;
+        } finally {
+            jdbcClient.finallyExecute(connection);
+        }
+    }
+
+    @WebLog
+    @RequestMapping(value = "/saveBatch")
+    public Object save(@RequestBody UserProjectRef model) throws Exception {
+        if (StringUtil.isEmpty(model.getUserId())) {
+            throw new Exception("参数缺失");
+        }
+        Connection connection = null;
+        try {
+            connection = dataSource.getConnection();
+            connection.setAutoCommit(false);
+
+            jdbcClient.jdbcRemove(model, connection);
+
+            if (StringUtil.isNotEmpty(model.getProjectIds())) {
+                String[] projectIdArr = model.getProjectIds().split(",");
+                for (String projectId : projectIdArr) {
+                    UserProjectRef ref = new UserProjectRef();
+                    ref.setProjectId(Long.valueOf(projectId));
+                    ref.setUserId(model.getUserId());
+                    jdbcClient.jdbcInsert(ref, connection);
+                }
+            }
+            connection.commit();
+            return new ResponseEntity<>(model, HttpStatus.OK);
+        } catch (Exception e) {
+            connection.rollback();
+            throw e;
+        } finally {
+            jdbcClient.finallyExecute(connection);
+        }
+    }
+}

+ 2 - 2
easydo-chengfa/src/main/java/easydo/technology/enums/ChengfaEnum.java

@@ -65,8 +65,8 @@ public enum ChengfaEnum {
     REDIS_KEY_SUPPLIER_EVALUATE_RULE("supplier_evaluate_rule", "供应商评价规则"),
 
     CONTRACT_PLAN_USE_STATE_NO_USE("No_Use", "未占用"),
-    CONTRACT_PLAN_USE_STATE_PRE_USE("Pre_Use", "占用"),
-    CONTRACT_PLAN_USE_STATE_IN_USE("In_Use", "占用"),
+    CONTRACT_PLAN_USE_STATE_PRE_USE("Pre_Use", "占用"),
+    CONTRACT_PLAN_USE_STATE_IN_USE("In_Use", "占用"),
 
     APPROVE_STATE_UNSTARTED("UNSTARTED","未开始"),
     APPROVE_STATE_PROCESSING("PROCESSING","处理中"),

+ 3 - 0
easydo-chengfa/src/main/java/easydo/technology/model/Purchase.java

@@ -1,6 +1,7 @@
 package easydo.technology.model;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import easydo.technology.annotation.NotTableField;
 import easydo.technology.annotations.ZSFContainer;
 import easydo.technology.annotations.ZSFContainers;
@@ -78,4 +79,6 @@ public class Purchase extends ZeroSpringFolder<Purchase> {
     private PurchaseLaw purchaseLaw;
     @NotTableField
     private JSONArray userTaskAssigneePropsList;
+    @NotTableField
+    private JSONObject extData;
 }

+ 3 - 0
easydo-chengfa/src/main/java/easydo/technology/model/PurchaseAnswerSign.java

@@ -1,6 +1,7 @@
 package easydo.technology.model;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import easydo.technology.annotation.NotTableField;
 import easydo.technology.annotations.ZSFContainer;
 import easydo.technology.annotations.ZSFContainers;
@@ -40,4 +41,6 @@ public class PurchaseAnswerSign extends ZeroSpringFolder<PurchaseAnswerSign> {
     private String templateId;
     @NotTableField
     private JSONArray userTaskAssigneePropsList;
+    @NotTableField
+    private JSONObject extData;
 }

+ 3 - 0
easydo-chengfa/src/main/java/easydo/technology/model/PurchaseBidNotice.java

@@ -3,6 +3,7 @@ package easydo.technology.model;
 import java.math.BigDecimal;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import easydo.technology.annotation.NotTableField;
 import easydo.technology.annotations.ZSFContainer;
 import easydo.technology.annotations.ZSFContainers;
@@ -55,4 +56,6 @@ public class PurchaseBidNotice extends ZeroSpringFolder<PurchaseBidNotice> {
     private String contractPlanName;
     @NotTableField
     private JSONArray userTaskAssigneePropsList;
+    @NotTableField
+    private JSONObject extData;
 }

+ 3 - 0
easydo-chengfa/src/main/java/easydo/technology/model/PurchaseBidSign.java

@@ -1,6 +1,7 @@
 package easydo.technology.model;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import easydo.technology.annotation.NotTableField;
 import easydo.technology.annotations.ZSFContainer;
 import easydo.technology.annotations.ZSFContainers;
@@ -40,4 +41,6 @@ public class PurchaseBidSign extends ZeroSpringFolder<PurchaseBidSign> {
     private String templateId;
     @NotTableField
     private JSONArray userTaskAssigneePropsList;
+    @NotTableField
+    private JSONObject extData;
 }

+ 1 - 1
easydo-chengfa/src/main/java/easydo/technology/model/PurchaseContract.java

@@ -29,5 +29,5 @@ public class PurchaseContract extends ZeroSpringFolder<PurchaseContract> {
     private String endTime;
     private String objectId;
     private String fileName;
-
+    private Long createId;
 }

+ 3 - 0
easydo-chengfa/src/main/java/easydo/technology/model/PurchaseMatter.java

@@ -1,6 +1,7 @@
 package easydo.technology.model;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import easydo.technology.annotation.NotTableField;
 import easydo.technology.annotations.ZSFContainer;
 import easydo.technology.annotations.ZSFContainers;
@@ -37,4 +38,6 @@ public class PurchaseMatter extends ZeroSpringFolder<PurchaseMatter> {
     private String templateId;
     @NotTableField
     private JSONArray userTaskAssigneePropsList;
+    @NotTableField
+    private JSONObject extData;
 }

+ 3 - 0
easydo-chengfa/src/main/java/easydo/technology/model/PurchasePlan.java

@@ -1,6 +1,7 @@
 package easydo.technology.model;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import easydo.technology.annotation.NotTableField;
 import easydo.technology.annotations.ZSFContainer;
 import easydo.technology.annotations.ZSFContainers;
@@ -55,4 +56,6 @@ public class PurchasePlan extends ZeroSpringFolder<PurchasePlan> {
     private String templateId;
     @NotTableField
     private JSONArray userTaskAssigneePropsList;
+    @NotTableField
+    private JSONObject extData;
 }

+ 1 - 0
easydo-chengfa/src/main/java/easydo/technology/quartz/task/JobTask.java

@@ -237,6 +237,7 @@ public class JobTask {
                         purchaseContract.setSupplierId(supplier.getId());
                         purchaseContract.setSupplierName(supplier.getSupplierName());
                         purchaseContract.setSupplierNo(supplier.getSupplierNo());
+                        purchaseContract.setCreateId(model.getCreateId());
                         jdbcClient.jdbcInsert(purchaseContract, connection);
                     }
                     model.setIsHaveContract(true);

+ 15 - 0
easydo-chengfa/src/main/java/easydo/technology/service/GLDApproveService.java

@@ -38,6 +38,8 @@ public class GLDApproveService {
     String startApprove;
     @Value("${GLD.APPROVE.getApproveInfo}")
     String getApproveInfo;
+    @Value("${GLD.APPROVE.getUserDeptList}")
+    String getUserDeptList;
     @Resource
     JdbcClient jdbcClient;
     @Resource
@@ -82,6 +84,7 @@ public class GLDApproveService {
 //        object.put("targetId", vo.getTargetId());
         object.put("taskType", "APPROVAL");
         object.put("userTaskAssigneePropsList", vo.getUserTaskAssigneePropsList());
+        object.put("extData", vo.getExtData());
         object.put("hiddenResubmit", true);
         object.put("startorId", member.getUserId());
         String uuid = UUID.randomUUID().toString();
@@ -156,6 +159,18 @@ public class GLDApproveService {
         return vo;
     }
 
+    public JSONArray getUserDeptList(String userId) throws Exception {
+        String url = host + getUserDeptList.replace("{userId}", userId);
+        Map<String, String> header = new HashMap<>();
+        header.put("X-CORAL-TENANT", tenantId);
+        header.put("Authorization", authorization);
+        String uuid = UUID.randomUUID().toString();
+        log.info(uuid + "查询用户下所属组织url========>" + url);
+        JSONArray resArray = HttpClientUtil.sendGETWithHeader_Arr(url, header);
+        log.info(uuid + "查询用户下所属组织res========>" + resArray.toJSONString());
+        return resArray;
+    }
+
 //    public static void main(String[] args) {
 ////        String url = "http://218.201.101.181:14780/task/tasks?targetId=89bfac89-7fd5-4c1f-a386-f2f36efafb1d&targetType=purchase_plan";
 //        String url = "http://218.201.101.181:14780/task/11200297/tasks?ids=22175528771584&taskType=APPROVAL";

+ 1 - 0
easydo-chengfa/src/main/resources/config/application-dev.yml

@@ -189,6 +189,7 @@ GLD:
     mgtGroupId: "5600082"
     startApprove: "/task/{deptId}/tasks/submit"
     getApproveInfo: "/task/{deptId}/tasks?ids={ids}&taskType=APPROVAL"
+    getUserDeptList: "/admin/depts/members/userId/{userId}"
     authorization: "Basic YlFvc0tIeWJkSlZUZGtMcXA0U1VIMlE0ejNZQjc5eVA6b1ZmaU5zR1c1NVZzSW5ITTlDOVI3c2g0SHlpVGMxY2w="
 
 PURCHASE:

+ 1 - 0
easydo-chengfa/src/main/resources/config/application-prod.yml

@@ -187,6 +187,7 @@ GLD:
     mgtGroupId: "5600164"
     startApprove: "/task/{deptId}/tasks/submit"
     getApproveInfo: "/task/{deptId}/tasks?ids={ids}&taskType=APPROVAL"
+    getUserDeptList: "/admin/depts/members/userId/{userId}"
     authorization: "Basic YlFvc0tIeWJkSlZUZGtMcXA0U1VIMlE0ejNZQjc5eVA6b1ZmaU5zR1c1NVZzSW5ITTlDOVI3c2g0SHlpVGMxY2w="
 
 PURCHASE:

+ 1 - 0
easydo-chengfa/src/main/resources/config/application-test.yml

@@ -187,6 +187,7 @@ GLD:
     mgtGroupId: "5600082"
     startApprove: "/task/{deptId}/tasks/submit"
     getApproveInfo: "/task/{deptId}/tasks?ids={ids}&taskType=APPROVAL"
+    getUserDeptList: "/admin/depts/members/userId/{userId}"
     authorization: "Basic YlFvc0tIeWJkSlZUZGtMcXA0U1VIMlE0ejNZQjc5eVA6b1ZmaU5zR1c1NVZzSW5ITTlDOVI3c2g0SHlpVGMxY2w="
 
 PURCHASE:

+ 21 - 1
easydo-common/src/main/java/easydo/technology/utils/ResultSetUtil.java

@@ -545,7 +545,27 @@ public class ResultSetUtil {
     public static String formatRemoveSql(Object obj) throws Exception {
         String tableName = obj.getClass().getSimpleName();
         tableName = ResultSetUtil.humpToLine(tableName);
-        Map<String, Object> map = MapUtil.objectToMap(obj);
+
+        Field[] declaredFields = obj.getClass().getDeclaredFields();
+        Map<String, Object> map = new HashMap<>();
+        for (Field field : declaredFields) {
+            if ("folders".equals(field.getName()) || "serialVersionUID".equals(field.getName())) {
+                continue;
+            }
+            if (field.isAnnotationPresent(NotTableField.class)) {
+                continue;
+            }
+            if (field.isAnnotationPresent(TableField.class)) {
+                if (!field.getAnnotation(TableField.class).exist()) {
+                    continue;
+                }
+            }
+            field.setAccessible(true);
+            if (StringUtil.isEmpty(field.get(obj))) {
+                continue;
+            }
+            map.put(field.getName(), field.get(obj));
+        }
 
         String sql = "delete from " + tableName + formatSqlCondition(map);
         if (sql.endsWith("1=1 ")) {

+ 14 - 0
easydo-system/src/main/java/easydo/technology/system/domain/UserProjectRef.java

@@ -0,0 +1,14 @@
+package easydo.technology.system.domain;
+
+import easydo.technology.annotation.NotTableField;
+import lombok.Data;
+
+@Data
+public class UserProjectRef {
+    private String id;
+    private Long userId;
+    private Long projectId;
+
+    @NotTableField
+    private String projectIds;
+}

+ 2 - 0
easydo-system/src/main/java/easydo/technology/system/dto/UserDto.java

@@ -43,6 +43,8 @@ public class UserDto extends CommonDto {
 
     private String avatarPath;
 
+    private String projectIds;
+
     @JsonIgnore
     private String password;
 

+ 12 - 0
easydo-system/src/main/java/easydo/technology/system/security/rest/AuthorizationController.java

@@ -20,9 +20,11 @@ import easydo.technology.annotation.WebLog;
 import easydo.technology.annotation.rest.AnonymousDeleteMapping;
 import easydo.technology.annotation.rest.AnonymousGetMapping;
 import easydo.technology.annotation.rest.AnonymousPostMapping;
+import easydo.technology.components.JdbcClient;
 import easydo.technology.config.RsaProperties;
 import easydo.technology.exception.BadRequestException;
 import easydo.technology.system.domain.Dept;
+import easydo.technology.system.domain.UserProjectRef;
 import easydo.technology.system.security.config.bean.LoginCodeEnum;
 import easydo.technology.system.security.config.bean.LoginProperties;
 import easydo.technology.system.security.config.bean.SecurityProperties;
@@ -52,6 +54,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * @author Zheng Jie
@@ -70,6 +73,7 @@ public class AuthorizationController {
     private final AuthenticationManagerBuilder authenticationManagerBuilder;
     private final DeptService deptService;
     private final LoginProperties loginProperties;
+    private final JdbcClient jdbcClient;
 
     @AnonymousPostMapping(value = "/login")
     public ResponseEntity<Object> login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request)
@@ -107,6 +111,14 @@ public class AuthorizationController {
                 }
             }
         }
+        UserProjectRef userProjectRef = new UserProjectRef();
+        userProjectRef.setUserId(jwtUserDto.getUser().getId());
+        List<UserProjectRef> projectRefList = jdbcClient.getJdbcList(userProjectRef);
+        if (!projectRefList.isEmpty()) {
+            String projectIds = projectRefList.stream().map(UserProjectRef::getProjectId).map(String::valueOf).collect(Collectors.joining(","));
+            jwtUserDto.getUser().setProjectIds(projectIds);
+        }
+
         // 保存在线信息
         onlineUserService.save(jwtUserDto, token, request);
         // 返回 token 与 用户信息