Browse Source

Merge branch 'invest-dev' of http://git.dgtis.com/15896567520/RuoYi-flowable-master into invest-dev

armg 11 tháng trước cách đây
mục cha
commit
acd22ee0aa
26 tập tin đã thay đổi với 444 bổ sung374 xóa
  1. 42 24
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectApprovalController.java
  2. 12 22
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectChannelController.java
  3. 11 24
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectCompanyController.java
  4. 12 29
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectContractController.java
  5. 40 24
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectDecisionController.java
  6. 12 29
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInformationController.java
  7. 32 29
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInvestigateController.java
  8. 13 31
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInvestigatePersonController.java
  9. 51 29
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectMeetingController.java
  10. 14 5
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectPoolController.java
  11. 12 29
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectRecordController.java
  12. 8 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectReviewController.java
  13. 1 5
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectScoringController.java
  14. 12 22
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TStudyInformationController.java
  15. 1 1
      ruoyi-admin/src/main/resources/application.yml
  16. 0 70
      ruoyi-common/src/main/java/com/ruoyi/common/utils/http/OkHttpFGUtils.java
  17. 57 0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/SmsSenderUtils.java
  18. 11 0
      ruoyi-system/src/main/java/com/ruoyi/invest/domain/TProjectApproval.java
  19. 11 0
      ruoyi-system/src/main/java/com/ruoyi/invest/domain/TProjectDecision.java
  20. 11 0
      ruoyi-system/src/main/java/com/ruoyi/invest/domain/TProjectInvestigate.java
  21. 9 0
      ruoyi-system/src/main/java/com/ruoyi/invest/mapper/TProjectPoolMapper.java
  22. 10 0
      ruoyi-system/src/main/java/com/ruoyi/invest/service/ITProjectCirculationService.java
  23. 8 0
      ruoyi-system/src/main/java/com/ruoyi/invest/service/ITProjectPoolService.java
  24. 11 0
      ruoyi-system/src/main/java/com/ruoyi/invest/service/impl/TProjectCirculationServiceImpl.java
  25. 11 0
      ruoyi-system/src/main/java/com/ruoyi/invest/service/impl/TProjectPoolServiceImpl.java
  26. 32 1
      ruoyi-system/src/main/resources/mapper/invest/TProjectPoolMapper.xml

+ 42 - 24
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectApprovalController.java

@@ -1,11 +1,18 @@
 package com.ruoyi.web.controller.invest;
 
+import java.io.IOException;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.FileType;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.sms.SmsSenderUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.invest.domain.TProjectCirculation;
+import com.ruoyi.invest.service.ITProjectCirculationService;
 import com.ruoyi.invest.service.ITProjectPoolService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.tool.domain.TUnifyFile;
 import com.ruoyi.tool.service.ITUnifyFileService;
 import io.swagger.annotations.Api;
@@ -49,6 +56,12 @@ public class TProjectApprovalController extends BaseController
     @Autowired
     private ITProjectPoolService tProjectPoolService;
 
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @Autowired
+    private ITProjectCirculationService tProjectCirculationService;
+
     /**
      * 查询立项申请列表
      */
@@ -96,21 +109,33 @@ public class TProjectApprovalController extends BaseController
     public AjaxResult add(@RequestBody TProjectApproval tProjectApproval)
     {
         tProjectApproval.setId(IdUtils.fastSimpleUUID());
+
         // todo 保存立项资料
-        List<TUnifyFile> tUnifyFileList = tProjectApproval.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectApproval.getProjectPoolId());
-                tUnifyFile.setFileBusinessId(tProjectApproval.getId());
-                tUnifyFile.setUploadType(String.valueOf(FileType.APPROVAL.ordinal()));//文件类型:立项资料
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectApproval.getListFile(),
+                tProjectApproval.getProjectPoolId(),
+                tProjectApproval.getId(),
+                String.valueOf(FileType.APPROVAL.ordinal()),
+                getNickName());
+
         // todo 更改立项状态
         tProjectPoolService.updateTProjectPoolByApprovalFlag(tProjectApproval.getProjectPoolId(),"1");
 
+        // todo 短信提醒
+        if(StringUtils.isNotEmpty(tProjectApproval.getParticipantsId())){
+            StringUtils.str2List(tProjectApproval.getParticipantsId(),",",true,true).stream().forEach(str -> {
+                SysUser user = sysUserService.selectUserById(Long.valueOf(str));
+                String contents = "您好,"+user.getNickName()+"," + tProjectApproval.getProjectName() + "已发起立项申请。";
+                try {
+                    SmsSenderUtils.sendSms(user.getPhonenumber(),contents);
+                } catch (IOException e) {
+                    logger.error("短信发送失败"+e.getMessage());
+                }
+            });
+        }
+
+        // todo 增加项目创建记录
+        tProjectCirculationService.insertTProjectCirculation(tProjectApproval.getProjectPoolId(),"立项申请",getNickName());
+
         return toAjax(tProjectApprovalService.insertTProjectApproval(tProjectApproval));
     }
 
@@ -124,19 +149,12 @@ public class TProjectApprovalController extends BaseController
     public AjaxResult edit(@RequestBody TProjectApproval tProjectApproval)
     {
         // todo 保存立项资料
-        List<TUnifyFile> tUnifyFileList = tProjectApproval.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectApproval.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectApproval.getId());
-                    tUnifyFile.setUploadType(String.valueOf(FileType.APPROVAL.ordinal()));//文件类型:立项资料
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectApproval.getListFile(),
+                tProjectApproval.getProjectPoolId(),
+                tProjectApproval.getId(),
+                String.valueOf(FileType.APPROVAL.ordinal()),
+                getNickName());
+
         return toAjax(tProjectApprovalService.updateTProjectApproval(tProjectApproval));
     }
 

+ 12 - 22
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectChannelController.java

@@ -113,16 +113,12 @@ public class TProjectChannelController extends BaseController
         int number = tProjectChannelService.selectTProjectChannelCode(DateUtils.lastTwoDigits()+"");
         tProjectChannel.setChannelCode(tProjectChannel.getChannelGroup()+"-"+ DateUtils.lastTwoDigits() +"-"+ String.format("%03d",number+1));
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectChannel.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileBusinessId(tProjectChannel.getId());//渠道ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.CHANNEL.ordinal()));//文件类型:渠道
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectChannel.getListFile(),
+                null,
+                tProjectChannel.getId(),//渠道ID
+                String.valueOf(FileType.CHANNEL.ordinal()),//文件类型:渠道
+                getNickName());
+
         return toAjax(tProjectChannelService.insertTProjectChannel(tProjectChannel));
     }
 
@@ -136,18 +132,12 @@ public class TProjectChannelController extends BaseController
     public AjaxResult edit(@RequestBody TProjectChannel tProjectChannel)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectChannel.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileBusinessId(tProjectChannel.getId());//渠道ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.CHANNEL.ordinal()));//文件类型:渠道
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectChannel.getListFile(),
+                null,
+                tProjectChannel.getId(),//渠道ID
+                String.valueOf(FileType.CHANNEL.ordinal()),//文件类型:渠道
+                getNickName());
+
         return toAjax(tProjectChannelService.updateTProjectChannel(tProjectChannel));
     }
 

+ 11 - 24
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectCompanyController.java

@@ -103,17 +103,12 @@ public class TProjectCompanyController extends BaseController
         tProjectCompany.setId(IdUtils.fastSimpleUUID());
         tProjectCompany.setCreateBy(getNickName());
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectCompany.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectCompany.getProjectPoolId());
-                tUnifyFile.setFileBusinessId(tProjectCompany.getId());//公司ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.COMPANY.ordinal()));//文件类型:公司信息
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectCompany.getListFile(),
+                tProjectCompany.getProjectPoolId(),
+                tProjectCompany.getId(),//公司ID
+                String.valueOf(FileType.COMPANY.ordinal()),//文件类型:公司信息
+                getNickName());
+
         return toAjax(tProjectCompanyService.insertTProjectCompany(tProjectCompany));
     }
 
@@ -127,19 +122,11 @@ public class TProjectCompanyController extends BaseController
     public AjaxResult edit(@RequestBody TProjectCompany tProjectCompany)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectCompany.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectCompany.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectCompany.getId());//公司ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.COMPANY.ordinal()));//文件类型:公司信息
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectCompany.getListFile(),
+                tProjectCompany.getProjectPoolId(),
+                tProjectCompany.getId(),//公司ID
+                String.valueOf(FileType.COMPANY.ordinal()),//文件类型:公司信息
+                getNickName());
         return toAjax(tProjectCompanyService.updateTProjectCompany(tProjectCompany));
     }
 

+ 12 - 29
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectContractController.java

@@ -118,24 +118,14 @@ public class TProjectContractController extends BaseController
         tProjectContract.setCreateBy(getNickName());
 
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectContract.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectContract.getProjectPoolId());
-                tUnifyFile.setFileBusinessId(tProjectContract.getId());//合同ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.CONTRACT.ordinal()));//文件类型:合同
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectContract.getListFile(),
+                tProjectContract.getProjectPoolId(),
+                tProjectContract.getId(),//合同ID
+                String.valueOf(FileType.CONTRACT.ordinal()),//文件类型:合同
+                getNickName());
 
         // todo 增加合同创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectContract.getProjectPoolId());
-        tProjectCirculation.setStageName(tProjectContract.getContractName()+"(合同)");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectContract.getProjectPoolId(),tProjectContract.getContractName()+"(合同)",getNickName());
 
         return toAjax(tProjectContractService.insertTProjectContract(tProjectContract));
     }
@@ -150,19 +140,12 @@ public class TProjectContractController extends BaseController
     public AjaxResult edit(@RequestBody TProjectContract tProjectContract)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectContract.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectContract.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectContract.getId());//合同ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.CONTRACT.ordinal()));//文件类型:合同
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectContract.getListFile(),
+                tProjectContract.getProjectPoolId(),
+                tProjectContract.getId(),//合同ID
+                String.valueOf(FileType.CONTRACT.ordinal()),//文件类型:合同
+                getNickName());
+
         return toAjax(tProjectContractService.updateTProjectContract(tProjectContract));
     }
 

+ 40 - 24
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectDecisionController.java

@@ -1,11 +1,18 @@
 package com.ruoyi.web.controller.invest;
 
+import java.io.IOException;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.FileType;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.sms.SmsSenderUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.invest.domain.TProjectCirculation;
+import com.ruoyi.invest.service.ITProjectCirculationService;
 import com.ruoyi.invest.service.ITProjectPoolService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.tool.domain.TUnifyFile;
 import com.ruoyi.tool.service.ITUnifyFileService;
 import io.swagger.annotations.Api;
@@ -49,6 +56,12 @@ public class TProjectDecisionController extends BaseController
     @Autowired
     private ITProjectPoolService tProjectPoolService;
 
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @Autowired
+    private ITProjectCirculationService tProjectCirculationService;
+
     /**
      * 查询投决申请列表
      */
@@ -97,21 +110,31 @@ public class TProjectDecisionController extends BaseController
     {
         tProjectDecision.setId(IdUtils.fastSimpleUUID());
         // todo 保存投决资料
-        List<TUnifyFile> tUnifyFileList = tProjectDecision.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectDecision.getProjectPoolId());
-                tUnifyFile.setFileBusinessId(tProjectDecision.getId());
-                tUnifyFile.setUploadType(String.valueOf(FileType.DECISION.ordinal()));//文件类型:投决资料
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectDecision.getListFile(),
+                tProjectDecision.getProjectPoolId(),
+                tProjectDecision.getId(),
+                String.valueOf(FileType.DECISION.ordinal()),
+                getNickName());
 
         // todo 更改投决状态
         tProjectPoolService.updateTProjectPoolByDecisionFlag(tProjectDecision.getProjectPoolId(),"1");
 
+        // todo 短信提醒
+        if(StringUtils.isNotEmpty(tProjectDecision.getParticipantsId())){
+            StringUtils.str2List(tProjectDecision.getParticipantsId(),",",true,true).stream().forEach(str -> {
+                SysUser user = sysUserService.selectUserById(Long.valueOf(str));
+                String contents = "您好,"+user.getNickName()+"," + tProjectDecision.getProjectName() + "已发起投决申请。";
+                try {
+                    SmsSenderUtils.sendSms(user.getPhonenumber(),contents);
+                } catch (IOException e) {
+                    logger.error("短信发送失败"+e.getMessage());
+                }
+            });
+        }
+
+        // todo 增加项目创建记录
+        tProjectCirculationService.insertTProjectCirculation(tProjectDecision.getProjectPoolId(),"投决申请",getNickName());
+
         return toAjax(tProjectDecisionService.insertTProjectDecision(tProjectDecision));
     }
 
@@ -125,19 +148,12 @@ public class TProjectDecisionController extends BaseController
     public AjaxResult edit(@RequestBody TProjectDecision tProjectDecision)
     {
         // todo 保存投决资料
-        List<TUnifyFile> tUnifyFileList = tProjectDecision.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectDecision.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectDecision.getId());
-                    tUnifyFile.setUploadType(String.valueOf(FileType.DECISION.ordinal()));//文件类型:投决资料
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectDecision.getListFile(),
+                tProjectDecision.getProjectPoolId(),
+                tProjectDecision.getId(),
+                String.valueOf(FileType.DECISION.ordinal()),
+                getNickName());
+
         return toAjax(tProjectDecisionService.updateTProjectDecision(tProjectDecision));
     }
 

+ 12 - 29
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInformationController.java

@@ -117,24 +117,14 @@ public class TProjectInformationController extends BaseController
         tProjectInformation.setId(IdUtils.fastSimpleUUID());
         tProjectInformation.setCreateBy(getNickName());
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectInformation.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectInformation.getProjectPoolId());
-                tUnifyFile.setFileBusinessId(tProjectInformation.getId());//公司ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.INFORMATION.ordinal()));//文件类型:公司信息
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectInformation.getListFile(),
+                tProjectInformation.getProjectPoolId(),
+                tProjectInformation.getId(),//文件资料ID
+                String.valueOf(FileType.INFORMATION.ordinal()),//文件类型:文件资料
+                getNickName());
 
         // todo 增加文件创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectInformation.getProjectPoolId());
-        tProjectCirculation.setStageName(tProjectInformation.getFileName()+"(文件资料)");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectInformation.getProjectPoolId(),tProjectInformation.getFileName()+"(文件资料)",getNickName());
 
         return toAjax(tProjectInformationService.insertTProjectInformation(tProjectInformation));
     }
@@ -149,19 +139,12 @@ public class TProjectInformationController extends BaseController
     public AjaxResult edit(@RequestBody TProjectInformation tProjectInformation)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectInformation.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectInformation.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectInformation.getId());//公司ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.INFORMATION.ordinal()));//文件类型:公司信息
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectInformation.getListFile(),
+                tProjectInformation.getProjectPoolId(),
+                tProjectInformation.getId(),//文件资料ID
+                String.valueOf(FileType.INFORMATION.ordinal()),//文件类型:文件资料
+                getNickName());
+
         return toAjax(tProjectInformationService.updateTProjectInformation(tProjectInformation));
     }
 

+ 32 - 29
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInvestigateController.java

@@ -1,15 +1,19 @@
 package com.ruoyi.web.controller.invest;
 
+import java.io.IOException;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.FileType;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.sms.SmsSenderUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.invest.domain.TProjectCirculation;
 import com.ruoyi.invest.domain.TProjectScoring;
 import com.ruoyi.invest.service.ITProjectCirculationService;
 import com.ruoyi.invest.service.ITProjectPoolService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.tool.domain.TUnifyFile;
 import com.ruoyi.tool.service.ITUnifyFileService;
 import io.swagger.annotations.Api;
@@ -56,6 +60,9 @@ public class TProjectInvestigateController extends BaseController
     @Autowired
     private ITProjectPoolService tProjectPoolService;
 
+    @Autowired
+    private ISysUserService sysUserService;
+
     /**
      * 查询尽调关联列表
      */
@@ -101,28 +108,31 @@ public class TProjectInvestigateController extends BaseController
     {
         tProjectInvestigate.setId(IdUtils.fastSimpleUUID());
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectInvestigate.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectInvestigate.getProjectPoolId());
-                tUnifyFile.setFileBusinessId(tProjectInvestigate.getId());//尽调ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.INVESTIGATE.ordinal()));//文件类型:尽调
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectInvestigate.getListFile(),
+                tProjectInvestigate.getProjectPoolId(),
+                tProjectInvestigate.getId(),//尽调ID
+                String.valueOf(FileType.INVESTIGATE.ordinal()),//文件类型:尽调
+                getNickName());
 
         // todo 增加尽调创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectInvestigate.getProjectPoolId());
-        tProjectCirculation.setStageName(tProjectInvestigate.getInvestigateName()+"(尽职背调)");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectInvestigate.getProjectPoolId(),tProjectInvestigate.getInvestigateName()+"(尽职背调)",getNickName());
 
         // todo 更改尽调状态
         tProjectPoolService.updateTProjectPoolByInvestigateFlag(tProjectInvestigate.getProjectPoolId(),"1");
 
+        // todo 短信提醒
+        if(StringUtils.isNotEmpty(tProjectInvestigate.getInvestigatePersonId())){
+            StringUtils.str2List(tProjectInvestigate.getInvestigatePersonId(),",",true,true).stream().forEach(str -> {
+                SysUser user = sysUserService.selectUserById(Long.valueOf(str));
+                String contents = "您好,"+user.getNickName()+"," + tProjectInvestigate.getProjectName() + "已开启尽职背调。";
+                try {
+                    SmsSenderUtils.sendSms(user.getPhonenumber(),contents);
+                } catch (IOException e) {
+                    logger.error("短信发送失败"+e.getMessage());
+                }
+            });
+        }
+
         return toAjax(tProjectInvestigateService.insertTProjectInvestigate(tProjectInvestigate));
     }
 
@@ -135,19 +145,12 @@ public class TProjectInvestigateController extends BaseController
     public AjaxResult edit(@RequestBody TProjectInvestigate tProjectInvestigate)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectInvestigate.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectInvestigate.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectInvestigate.getId());//尽调ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.INVESTIGATE.ordinal()));//文件类型:尽调
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectInvestigate.getListFile(),
+                tProjectInvestigate.getProjectPoolId(),
+                tProjectInvestigate.getId(),//尽调ID
+                String.valueOf(FileType.INVESTIGATE.ordinal()),//文件类型:尽调
+                getNickName());
+
         return toAjax(tProjectInvestigateService.updateTProjectInvestigate(tProjectInvestigate));
     }
 

+ 13 - 31
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInvestigatePersonController.java

@@ -101,25 +101,14 @@ public class TProjectInvestigatePersonController extends BaseController
         tProjectInvestigatePerson.setInvestigatePersonId(getUserId().toString());
         tProjectInvestigatePerson.setDeptId(getDeptId());
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectInvestigatePerson.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectInvestigatePerson.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectInvestigatePerson.getId());//尽调ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.INVESTIGATE.ordinal()));//文件类型:尽调
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectInvestigatePerson.getListFile(),
+                tProjectInvestigatePerson.getProjectPoolId(),
+                tProjectInvestigatePerson.getId(),//尽调ID
+                String.valueOf(FileType.INVESTIGATE.ordinal()),//文件类型:尽调
+                getNickName());
+
         // todo 增加项目创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectInvestigatePerson.getProjectPoolId());
-        tProjectCirculation.setStageName("上传尽调报告");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectInvestigatePerson.getProjectPoolId(),"上传尽调报告",getNickName());
 
         return toAjax(tProjectInvestigatePersonService.insertTProjectInvestigatePerson(tProjectInvestigatePerson));
     }
@@ -133,19 +122,12 @@ public class TProjectInvestigatePersonController extends BaseController
     public AjaxResult edit(@RequestBody TProjectInvestigatePerson tProjectInvestigatePerson)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectInvestigatePerson.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectInvestigatePerson.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectInvestigatePerson.getId());//尽调ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.INVESTIGATE.ordinal()));//文件类型:尽调
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectInvestigatePerson.getListFile(),
+                tProjectInvestigatePerson.getProjectPoolId(),
+                tProjectInvestigatePerson.getId(),//尽调ID
+                String.valueOf(FileType.INVESTIGATE.ordinal()),//文件类型:尽调
+                getNickName());
+
         return toAjax(tProjectInvestigatePersonService.updateTProjectInvestigatePerson(tProjectInvestigatePerson));
     }
 

+ 51 - 29
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectMeetingController.java

@@ -1,15 +1,18 @@
 package com.ruoyi.web.controller.invest;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.FileType;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.common.utils.sms.SmsSenderUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.framework.config.ServerConfig;
 import com.ruoyi.invest.domain.TProjectCirculation;
@@ -17,6 +20,7 @@ import com.ruoyi.invest.domain.TProjectMeeting;
 import com.ruoyi.invest.service.ITProjectCirculationService;
 import com.ruoyi.invest.service.ITProjectMeetingService;
 import com.ruoyi.system.service.ISysDictDataService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.tool.domain.TUnifyFile;
 import com.ruoyi.tool.service.ITUnifyFileService;
 import io.swagger.annotations.Api;
@@ -62,6 +66,10 @@ public class TProjectMeetingController extends BaseController
     @Autowired
     private ISysDictDataService dictDataService;
 
+    @Autowired
+    private ISysUserService sysUserService;
+
+
     /**
      * 查询会议记录列表
      */
@@ -127,24 +135,45 @@ public class TProjectMeetingController extends BaseController
             tProjectMeeting.setMeetingCode(DateUtils.dateNow()+ String.format("%03d",number+1));
         }
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectMeeting.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectMeeting.getProjectPoolId());
-                tUnifyFile.setFileBusinessId(tProjectMeeting.getId());//公司ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.MEETING.ordinal()));//文件类型:公司信息
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectMeeting.getListFile(),
+                tProjectMeeting.getProjectPoolId(),
+                tProjectMeeting.getId(),//会议ID
+                String.valueOf(FileType.MEETING.ordinal()),//文件类型:会议
+                getNickName());
 
         // todo 增加会议创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectMeeting.getProjectPoolId());
-        tProjectCirculation.setStageName(tProjectMeeting.getMeetingTheme()+"(会议)");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectMeeting.getProjectPoolId(),tProjectMeeting.getMeetingTheme()+"(会议)",getNickName());
+
+        // todo 发送短信-参与人-发起人
+        if(tProjectMeeting.getMeetingType().equals("LX") || tProjectMeeting.getMeetingType().equals("TJ")){
+            // todo 参与人
+            if(StringUtils.isNotEmpty(tProjectMeeting.getParticipantsId())){
+                StringUtils.str2List(tProjectMeeting.getParticipantsId(),",",true,true).stream().forEach(str -> {
+                    SysUser user = sysUserService.selectUserById(Long.valueOf(str));
+                    String contents = "您好," + user.getNickName() + ",兹定于 " +
+                            DateUtils.parseDateToStr("yyyy/MM/dd HH:mm",tProjectMeeting.getStartTime()) + "至" + DateUtils.parseDateToStr("yyyy/MM/dd HH:mm",tProjectMeeting.getEndTime()) +
+                            "在" + tProjectMeeting.getPlace() + "召开" + tProjectMeeting.getMeetingTheme() + "会议,请提前做好准备按时参加。";
+                    try {
+                        SmsSenderUtils.sendSms(user.getPhonenumber(),contents);
+                    } catch (IOException e) {
+                       logger.error("短信发送失败"+e.getMessage());
+                    }
+                });
+            }
+
+            // todo 发起人
+            if(StringUtils.isNotEmpty(tProjectMeeting.getPromoterId())){
+                SysUser user = sysUserService.selectUserById(Long.valueOf(tProjectMeeting.getPromoterId()));
+                String contents = "您好," + user.getNickName() + ",兹定于 " +
+                        DateUtils.parseDateToStr("yyyy/MM/dd HH:mm",tProjectMeeting.getStartTime()) + "至" + DateUtils.parseDateToStr("yyyy/MM/dd HH:mm",tProjectMeeting.getEndTime()) +
+                        "在" + tProjectMeeting.getPlace() + "召开" + tProjectMeeting.getMeetingTheme() + "会议,请提前做好准备按时参加。";
+                try {
+                    SmsSenderUtils.sendSms(user.getPhonenumber(),contents);
+                } catch (IOException e) {
+                    logger.error("短信发送失败"+e.getMessage());
+                }
+            }
+        }
 
         return toAjax(tProjectMeetingService.insertTProjectMeeting(tProjectMeeting));
     }
@@ -159,19 +188,12 @@ public class TProjectMeetingController extends BaseController
     public AjaxResult edit(@RequestBody TProjectMeeting tProjectMeeting)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectMeeting.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectMeeting.getProjectPoolId());
-                    tUnifyFile.setFileBusinessId(tProjectMeeting.getId());//公司ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.MEETING.ordinal()));//文件类型:公司信息
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectMeeting.getListFile(),
+                tProjectMeeting.getProjectPoolId(),
+                tProjectMeeting.getId(),//会议ID
+                String.valueOf(FileType.MEETING.ordinal()),//文件类型:会议
+                getNickName());
+
         return toAjax(tProjectMeetingService.updateTProjectMeeting(tProjectMeeting));
     }
 

+ 14 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectPoolController.java

@@ -95,6 +95,19 @@ public class TProjectPoolController extends BaseController
         return getDataTable(list);
     }
 
+    /**
+     * 查询项目池列表
+     */
+    @ApiOperation("查询项目阶段列表")
+    @PreAuthorize("@ss.hasPermi('invest:pool:list')")
+    @GetMapping("/listStage")
+    public TableDataInfo listStage(TProjectPool tProjectPool)
+    {
+        startPage();
+        List<TProjectPool> list = tProjectPoolService.selectTProjectPoolListStage(tProjectPool);
+        return getDataTable(list);
+    }
+
     /**
      * 查询评估考察列表
      */
@@ -270,11 +283,7 @@ public class TProjectPoolController extends BaseController
         tProjectCompanyService.insertTProjectCompany(tProjectCompany);
         tProjectContactsService.insertTProjectContacts(tProjectContacts);
         // todo 增加项目创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectPool.getId());
-        tProjectCirculation.setStageName("项目报备");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectPool.getId(),"项目报备",getNickName());
 
         return toAjax(tProjectPoolService.insertTProjectPool(tProjectPool));
     }

+ 12 - 29
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectRecordController.java

@@ -116,24 +116,14 @@ public class TProjectRecordController extends BaseController
         tProjectRecord.setId(IdUtils.fastSimpleUUID());
         tProjectRecord.setCreateBy(getNickName());
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectRecord.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileId(tProjectRecord.getProjectId());
-                tUnifyFile.setFileBusinessId(tProjectRecord.getId());//公司ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.RECORD.ordinal()));//文件类型:公司信息
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectRecord.getListFile(),
+                tProjectRecord.getProjectId(),
+                tProjectRecord.getId(),
+                String.valueOf(FileType.RECORD.ordinal()),
+                getNickName());
 
         // todo 增加跟进记录创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectRecord.getProjectId());
-        tProjectCirculation.setStageName(tProjectRecord.getUpPerson()+"(跟进记录)");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectRecord.getProjectId(),tProjectRecord.getUpPerson()+"(跟进记录)",getNickName());
 
         return toAjax(tProjectRecordService.insertTProjectRecord(tProjectRecord));
     }
@@ -148,19 +138,12 @@ public class TProjectRecordController extends BaseController
     public AjaxResult edit(@RequestBody TProjectRecord tProjectRecord)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tProjectRecord.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileId(tProjectRecord.getProjectId());
-                    tUnifyFile.setFileBusinessId(tProjectRecord.getId());//公司ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.RECORD.ordinal()));//文件类型:公司信息
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tProjectRecord.getListFile(),
+                tProjectRecord.getProjectId(),
+                tProjectRecord.getId(),
+                String.valueOf(FileType.RECORD.ordinal()),
+                getNickName());
+
         return toAjax(tProjectRecordService.updateTProjectRecord(tProjectRecord));
     }
 

+ 8 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectReviewController.java

@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.invest;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.invest.service.ITProjectCirculationService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -38,6 +39,9 @@ public class TProjectReviewController extends BaseController
     @Autowired
     private ITProjectReviewService tProjectReviewService;
 
+    @Autowired
+    private ITProjectCirculationService tProjectCirculationService;
+
     /**
      * 查询评审记录列表
      */
@@ -84,6 +88,10 @@ public class TProjectReviewController extends BaseController
         tProjectReview.setCreateBy(getNickName());
         tProjectReview.setReviewPerson(getNickName());
         tProjectReview.setReviewPersonId(getUserId().toString());
+
+        // todo 增加上传评审意见记录
+        tProjectCirculationService.insertTProjectCirculation(tProjectReview.getProjectPoolId(),"上传评估考察意见",getNickName());
+
         return toAjax(tProjectReviewService.insertTProjectReview(tProjectReview));
     }
 

+ 1 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectScoringController.java

@@ -92,11 +92,7 @@ public class TProjectScoringController extends BaseController
         tProjectScoring.setCreateBy(getNickName());
 
         // todo 增加项目创建记录
-        TProjectCirculation tProjectCirculation = new TProjectCirculation();
-        tProjectCirculation.setProjectPoolId(tProjectScoring.getProjectPoolId());
-        tProjectCirculation.setStageName("上传打分表");
-        tProjectCirculation.setCreateBy(getNickName());
-        tProjectCirculationService.insertTProjectCirculation(tProjectCirculation);
+        tProjectCirculationService.insertTProjectCirculation(tProjectScoring.getProjectPoolId(),"上传打分表",getNickName());
 
         return toAjax(tProjectScoringService.insertTProjectScoring(tProjectScoring));
     }

+ 12 - 22
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TStudyInformationController.java

@@ -112,16 +112,12 @@ public class TStudyInformationController extends BaseController
         tStudyInformation.setId(IdUtils.fastSimpleUUID());
         tStudyInformation.setCreateBy(getNickName());
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tStudyInformation.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                tUnifyFile.setFileBusinessId(tStudyInformation.getId());//公司ID
-                tUnifyFile.setUploadType(String.valueOf(FileType.GEN.ordinal()));//文件类型:公司信息
-                tUnifyFile.setCreateBy(getNickName());
-                tUnifyFileService.insertTUnifyFile(tUnifyFile);
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tStudyInformation.getListFile(),
+                null,
+                tStudyInformation.getId(),
+                String.valueOf(FileType.GEN.ordinal()),
+                getNickName());
+
         return toAjax(tStudyInformationService.insertTStudyInformation(tStudyInformation));
     }
 
@@ -135,18 +131,12 @@ public class TStudyInformationController extends BaseController
     public AjaxResult edit(@RequestBody TStudyInformation tStudyInformation)
     {
         // todo 保存附件信息
-        List<TUnifyFile> tUnifyFileList = tStudyInformation.getListFile();
-        if(null != tUnifyFileList && !tUnifyFileList.isEmpty()){
-            for (TUnifyFile tUnifyFile:
-                    tUnifyFileList) {
-                if(tUnifyFile.getId() == null){
-                    tUnifyFile.setFileBusinessId(tStudyInformation.getId());//公司ID
-                    tUnifyFile.setUploadType(String.valueOf(FileType.GEN.ordinal()));//文件类型:公司信息
-                    tUnifyFile.setCreateBy(getNickName());
-                    tUnifyFileService.insertTUnifyFile(tUnifyFile);
-                }
-            }
-        }
+        tUnifyFileService.insertTUnifyFileList(tStudyInformation.getListFile(),
+                null,
+                tStudyInformation.getId(),
+                String.valueOf(FileType.GEN.ordinal()),
+                getNickName());
+        
         return toAjax(tStudyInformationService.updateTStudyInformation(tStudyInformation));
     }
 

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -72,7 +72,7 @@ spring:
     # 地址
     host: localhost
     # 端口,默认为6379
-    port: 6379
+    port: 6380
     # 数据库索引
     database: 0
     # 密码

+ 0 - 70
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/OkHttpFGUtils.java

@@ -98,76 +98,6 @@ public class OkHttpFGUtils {
                 }
             }
         }
-
-
-//        Map<String, List<Object>> map = getSchoolMap(result);
-//
-//        for (Object majors: map.get("majorsList")) {
-//
-//            Map majorsMap = (Map) JSON.parse(majors.toString());
-//
-//            JSONArray childrens = JSONObject.parseArray(majorsMap.get("children").toString());
-//            List<Object> childrenList = childrens;
-//            if(StringUtils.isNotEmpty(childrenList)){
-//                for (Object children: childrenList) {
-//                    Map childrenMap = (Map) JSON.parse(children.toString());
-//
-//                    JSONArray childrens1 = JSONObject.parseArray(childrenMap.get("children").toString());
-//                    List<Object> children1List = childrens1;
-//                    if(StringUtils.isNotEmpty(children1List)) {
-//                        for (Object children1 : children1List) {
-//                            Map children1Map = (Map) JSON.parse(children1.toString());
-//                            String rankingsResult = HttpUtils.sendGet(URL,"year=2023&majorCode="+children1Map.get("code").toString());
-//
-//                            Map<String, List<Object>> univMap = getSchoolMap(rankingsResult);
-//
-//                            for (Object rankings:
-//                                    univMap.get("rankingsList")) {
-//                                Map rankingsMap = (Map) JSON.parse(rankings.toString());
-//
-//                                if(rankingsMap.get("grade").toString().equals("A+")||rankingsMap.get("grade").toString().equals("A")){
-//
-//                                    Map<String,String> univ = new HashMap<>();
-//                                    univ.put("lName",majorsMap.get("name").toString());
-//                                    univ.put("lCode",majorsMap.get("code").toString());
-//                                    univ.put("pName",childrenMap.get("name").toString());
-//                                    univ.put("pCode",childrenMap.get("code").toString());
-//                                    univ.put("zName",children1Map.get("name").toString());
-//                                    univ.put("zCode",children1Map.get("code").toString());
-//                                    univ.put("grade",rankingsMap.get("grade").toString());
-//                                    univ.put("univNameCn",rankingsMap.get("univNameCn").toString());
-//                                    univ.put("score",rankingsMap.get("score").toString());
-//                                    univ.put("province",rankingsMap.get("province").toString());
-//                                    univ.put("city",rankingsMap.get("city").toString());
-//                                    univ.put("univLikeCount",rankingsMap.get("univLikeCount").toString());
-//                                    univ.put("univTags",rankingsMap.get("univTags").toString());
-//                                    univ.put("ranking",rankingsMap.get("ranking").toString());
-//
-//                                    Map indGradesMap = (Map) JSON.parse(rankingsMap.get("indGrades").toString());
-//                                    if (!indGradesMap.isEmpty()){
-//                                        univ.put("12",indGradesMap.get(12)!=null?indGradesMap.get(12).toString():"");
-//                                        univ.put("13",indGradesMap.get(13)!=null?indGradesMap.get(15).toString():"");
-//                                        univ.put("14",indGradesMap.get(15)!=null?indGradesMap.get(15).toString():"");
-//                                        univ.put("15",indGradesMap.get(15)!=null?indGradesMap.get(15).toString():"");
-//                                        univ.put("16",indGradesMap.get(15)!=null?indGradesMap.get(15).toString():"");
-//                                    }else {
-//                                        univ.put("12","/");
-//                                        univ.put("13","/");
-//                                        univ.put("14","/");
-//                                        univ.put("15","/");
-//                                        univ.put("16","/");
-//                                    }
-//
-//                                    resultList.add(univ);
-//
-//                                }
-//                            }
-//                        }
-//                    }
-//                }
-//            }
-//        }
-
     }
 
 

+ 57 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/SmsSenderUtils.java

@@ -0,0 +1,57 @@
+package com.ruoyi.common.utils.sms;
+
+import com.ruoyi.common.utils.sign.Md5Utils;
+import okhttp3.*;
+
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class SmsSenderUtils {
+
+    private static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
+    private static final OkHttpClient client = new OkHttpClient();
+
+    public static void sendSms(String phoneNumber, String contents) throws IOException {
+        // 替换为你的短信服务提供商的API URL
+        String url = "http://demo.dgtis.com/smscat/sms/sendSms";
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        String date = sdf.format(new Date());
+        String md5 = "phones=" + phoneNumber + "&key=dgtissms&date=" + date;
+        md5 = Md5Utils.hash(md5);
+
+        RequestBody formBody = new FormBody.Builder()
+                .add("phones",phoneNumber)
+                .add("contents",contents)
+                .add("md5",md5)
+                .build();
+
+        // 创建请求
+        Request request = new Request.Builder()
+                .url(url)
+                .post(formBody)
+                .build();
+
+        // 发送请求并获取响应
+        try (Response response = client.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                throw new IOException("Unexpected code " + response);
+            } else {
+                // 处理响应,例如打印响应体
+                System.out.println(response.body().string());
+            }
+        }
+    }
+
+    public static void main(String[] args) {
+        SmsSenderUtils sender = new SmsSenderUtils();
+        try {
+            sender.sendSms("15896567520", "Hello, this is a test message!");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+
+}

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/domain/TProjectApproval.java

@@ -25,6 +25,9 @@ public class TProjectApproval extends BaseEntity
     @Excel(name = "项目ID")
     private String projectPoolId;
 
+    /** 项目名称 */
+    private String projectName;
+
     /** 项目概况 */
     @Excel(name = "项目概况")
     private String projectOverview;
@@ -117,6 +120,14 @@ public class TProjectApproval extends BaseEntity
         this.participantsId = participantsId;
     }
 
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/domain/TProjectDecision.java

@@ -25,6 +25,9 @@ public class TProjectDecision extends BaseEntity
     @Excel(name = "项目ID")
     private String projectPoolId;
 
+    /** 项目名称 */
+    private String projectName;
+
     /** 参与人ID */
     @Excel(name = "参与人ID")
     private String participantsId;
@@ -108,6 +111,14 @@ public class TProjectDecision extends BaseEntity
         this.listFile = listFile;
     }
 
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/domain/TProjectInvestigate.java

@@ -35,6 +35,9 @@ public class TProjectInvestigate extends BaseEntity
     @Excel(name = "项目id")
     private String projectPoolId;
 
+    /** 项目名称 */
+    private String projectName;
+
     /** 尽调人员 */
     @Excel(name = "尽调人员")
     private String investigatePerson;
@@ -229,6 +232,14 @@ public class TProjectInvestigate extends BaseEntity
         this.deadDate = deadDate;
     }
 
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 9 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/mapper/TProjectPoolMapper.java

@@ -29,6 +29,14 @@ public interface TProjectPoolMapper
      */
     public List<TProjectPool> selectTProjectPoolList(TProjectPool tProjectPool);
 
+    /**
+     * 查询项目阶段列表
+     *
+     * @param tProjectPool 项目池
+     * @return 项目池集合
+     */
+    public List<TProjectPool> selectTProjectPoolListStage(TProjectPool tProjectPool);
+
     /**
      * 新增项目池
      * 
@@ -106,4 +114,5 @@ public interface TProjectPoolMapper
      * @return
      */
     int updateTProjectPoolByDecisionFlag(@Param("id") String id,@Param("flag") String flag);
+
 }

+ 10 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/service/ITProjectCirculationService.java

@@ -37,6 +37,16 @@ public interface ITProjectCirculationService
      */
     public int insertTProjectCirculation(TProjectCirculation tProjectCirculation);
 
+    /**
+     * 新增项目流转记录
+     *
+     * @param projectPoolId
+     * @param stageName
+     * @param createBy
+     * @return 结果
+     */
+    public int insertTProjectCirculation(String projectPoolId,String stageName,String createBy);
+
     /**
      * 修改项目流转记录
      * 

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/service/ITProjectPoolService.java

@@ -28,6 +28,14 @@ public interface ITProjectPoolService
      */
     public List<TProjectPool> selectTProjectPoolList(TProjectPool tProjectPool);
 
+    /**
+     * 查询项目阶段列表
+     *
+     * @param tProjectPool 项目池
+     * @return 项目池集合
+     */
+    public List<TProjectPool> selectTProjectPoolListStage(TProjectPool tProjectPool);
+
     /**
      * 新增项目池
      * 

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/service/impl/TProjectCirculationServiceImpl.java

@@ -59,6 +59,17 @@ public class TProjectCirculationServiceImpl implements ITProjectCirculationServi
         return tProjectCirculationMapper.insertTProjectCirculation(tProjectCirculation);
     }
 
+    @Override
+    public int insertTProjectCirculation(String projectPoolId, String stageName, String createBy) {
+        TProjectCirculation tProjectCirculation = new TProjectCirculation();
+        tProjectCirculation.setProjectPoolId(projectPoolId);
+        tProjectCirculation.setStageName(stageName);
+        tProjectCirculation.setCreateBy(createBy);
+        tProjectCirculation.setCreateTime(DateUtils.getNowDate());
+        tProjectCirculation.setId(IdUtils.fastSimpleUUID());
+        return tProjectCirculationMapper.insertTProjectCirculation(tProjectCirculation);
+    }
+
     /**
      * 修改项目流转记录
      * 

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/service/impl/TProjectPoolServiceImpl.java

@@ -46,6 +46,17 @@ public class TProjectPoolServiceImpl implements ITProjectPoolService
         return tProjectPoolMapper.selectTProjectPoolList(tProjectPool);
     }
 
+    /**
+     * 查询项目阶段列表
+     *
+     * @param tProjectPool 项目池
+     * @return 项目池
+     */
+    @Override
+    public List<TProjectPool> selectTProjectPoolListStage(TProjectPool tProjectPool) {
+        return tProjectPoolMapper.selectTProjectPoolListStage(tProjectPool);
+    }
+
     /**
      * 新增项目池
      * 

+ 32 - 1
ruoyi-system/src/main/resources/mapper/invest/TProjectPoolMapper.xml

@@ -118,6 +118,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectTProjectPoolList" parameterType="TProjectPool" resultMap="TProjectPoolResult">
         <include refid="selectTProjectPoolVo"/>
         <where>
+            a.project_state != '1'
             <if test="projectName != null  and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
             <if test="projectGroup != null  and projectGroup != ''"> and a.project_group = #{projectGroup}</if>
             <if test="projectCode != null  and projectCode != ''"> and a.project_code = #{projectCode}</if>
@@ -143,7 +144,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="delFlag != null  and delFlag != ''"> and a.del_flag = #{delFlag}</if>
         </where>
     </select>
-    
+
+    <select id="selectTProjectPoolListStage" parameterType="TProjectPool" resultMap="TProjectPoolResult">
+        <include refid="selectTProjectPoolVo"/>
+        <where>
+            <if test="projectName != null  and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+            <if test="projectGroup != null  and projectGroup != ''"> and a.project_group = #{projectGroup}</if>
+            <if test="projectCode != null  and projectCode != ''"> and a.project_code = #{projectCode}</if>
+            <if test="channel != null  and channel != ''"> and a.channel = #{channel}</if>
+            <if test="contactDate != null "> and a.contact_date = #{contactDate}</if>
+            <if test="projectDate != null "> and a.project_date = #{projectDate}</if>
+            <if test="decisionDate != null "> and a.decision_date = #{decisionDate}</if>
+            <if test="industry != null  and industry != ''"> and a.industry = #{industry}</if>
+            <if test="company != null  and company != ''"> and b.company_name like concat('%', #{company}, '%')</if>
+            <if test="projectContacts != null  and projectContacts != ''"> and c.name like concat('%', #{projectContacts}, '%')</if>
+            <if test="investHead != null  and investHead != ''"> and a.invest_head like concat('%', #{investHead}, '%')</if>
+            <if test="previousFinancing != null  and previousFinancing != ''"> and a.previous_financing = #{previousFinancing}</if>
+            <if test="financingStage != null  and financingStage != ''"> and a.financing_stage = #{financingStage}</if>
+            <if test="financingMoney != null  and financingMoney != ''"> and a.financing_money = #{financingMoney}</if>
+            <if test="financingDate != null "> and a.financing_date = #{financingDate}</if>
+            <if test="investValuation != null  and investValuation != ''"> and a.invest_valuation = #{investValuation}</if>
+            <if test="investMoney != null  and investMoney != ''"> and a.invest_money = #{investMoney}</if>
+            <if test="investType != null  and investType != ''"> and a.invest_type = #{investType}</if>
+            <if test="investPloy != null  and investPloy != ''"> and a.invest_ploy = #{investPloy}</if>
+            <if test="investWorth != null  and investWorth != ''"> and a.invest_worth = #{investWorth}</if>
+            <if test="projectStage != null  and projectStage != ''"> and a.project_stage = #{projectStage}</if>
+            <if test="projectState != null  and projectState != ''"> and a.project_state = #{projectState}</if>
+            <if test="delFlag != null  and delFlag != ''"> and a.del_flag = #{delFlag}</if>
+        </where>
+    </select>
+
+
     <select id="selectTProjectPoolById" parameterType="String" resultMap="TProjectPoolResult">
         <include refid="selectTProjectPoolVo"/>
         where a.id = #{id}