From 4207b9bd1dd2f81eea512a82085c4083be5e6d44 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 09 四月 2024 17:33:21 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java |  274 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 266 insertions(+), 8 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
index ed36b4a..f0575f1 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
@@ -2,19 +2,20 @@
 
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.project.domain.BaseOnlyvalue;
-import com.ruoyi.project.domain.BaseOrganization;
-import com.ruoyi.project.domain.ServiceDonationwitness;
+import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.vo.TimeVO;
 import com.ruoyi.project.domain.vo.countByRecordStateVO;
 import com.ruoyi.project.mapper.*;
-import com.ruoyi.project.service.IBaseOnlyvalueService;
+import com.ruoyi.project.service.*;
+import com.ruoyi.system.mapper.SysUserMapper;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -22,9 +23,8 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.project.domain.ServiceDonatebaseinfo;
 import com.ruoyi.project.mapper.BaseOrganizationMapper;
-import com.ruoyi.project.service.IServiceDonatebaseinfoService;
+import org.springframework.util.CollectionUtils;
 
 /**
  * 鎹愮尞鍩虹Service涓氬姟灞傚鐞�
@@ -32,6 +32,7 @@
  * @author ruoyi
  * @date 2021-11-13
  */
+@Slf4j
 @Service
 public class ServiceDonatebaseinfoServiceImpl extends ServiceImpl<ServiceDonatebaseinfoMapper, ServiceDonatebaseinfo> implements IServiceDonatebaseinfoService {
 
@@ -49,6 +50,32 @@
 
     @Autowired
     private IBaseOnlyvalueService baseOnlyvalueService;
+
+    @Autowired
+    private IServiceMedicalevaluationService serviceMedicalevaluationService;
+
+    @Autowired
+    private IServiceRelativesconfirmationService serviceRelativesconfirmationService;
+
+    @Autowired
+    private IServiceFundflowruleService serviceFundflowruleService;
+
+    @Autowired
+    private IServiceEthicalreviewopinionsService iServiceEthicalreviewopinionsService;
+
+    @Autowired
+    private IServiceOrganallocationService serviceOrganallocationService;
+
+    @Autowired
+    private IServiceDonateorganService serviceDonateorganService;
+
+    @Autowired
+    private IServiceDonationwitnessService serviceDonationwitnessService;
+
+    @Autowired
+    private IServiceDonatecompletioninfoService serviceDonatecompletioninfoService;
+    @Autowired
+    private SysUserMapper sysUserMapper;
 
 
     /**
@@ -246,7 +273,238 @@
         return serviceDonatebaseinfoMapper.getDonateNameById(infoid);
     }
 
+    @Override
+    public Map<String, Object> getWorkFlow(Long id) {
+        log.info("getWorkFlow鐨勫叆鍙侷D涓猴細{}", id);
+        //鐢ㄤ簬杩斿洖
+        Map<String, Object> map = new ConcurrentHashMap<>();
 
+        ServiceDonatebaseinfo serviceDonatebaseinfo = getById(id);
+
+        if (ObjectUtils.isEmpty(serviceDonatebaseinfo)) {
+            return null;
+        }
+
+        //灏佽serviceDonateorgan娼滃湪鎹愮尞鏁版嵁
+        Map<String, String> donatebaseinfo = new HashMap<>();
+        donatebaseinfo.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonatebaseinfo.getCreateTime()));
+        donatebaseinfo.put("updatetime", serviceDonatebaseinfo.getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonatebaseinfo.getUpdateTime()) : "");
+        donatebaseinfo.put("createperson", null);
+        if (StringUtils.isNotBlank(serviceDonatebaseinfo.getCreateBy())) {
+            SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonatebaseinfo.getCreateBy());
+            if (!ObjectUtils.isEmpty(sysUser)) {
+                donatebaseinfo.put("createperson", sysUser.getNickName());
+            }
+        }
+        donatebaseinfo.put("updateperson", null);
+        if (StringUtils.isNotBlank(serviceDonatebaseinfo.getUpdateBy())) {
+            SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonatebaseinfo.getUpdateBy());
+            if (!ObjectUtils.isEmpty(sysUser)) {
+                donatebaseinfo.put("updateperson", sysUser.getNickName());
+            }
+        }
+        donatebaseinfo.put("process", "");
+        //灏佽serviceDonateorgan娼滃湪鎹愮尞杩斿洖鏁版嵁
+        log.info("妫�鏌ュ皝瑁呮綔鍦ㄦ崘鐚繑鍥炴暟鎹甦onatebaseinfo鐨勫�间负锛歿}", donatebaseinfo);
+        map.put("donatebaseinfo", donatebaseinfo);
+
+        //灏佽鍖诲璇勪及
+        log.info("妫�鏌erviceDonatebaseinfo.getWorkflow()鐨勫�间负锛歿}", serviceDonatebaseinfo.getWorkflow());
+        Map<String, String> medicalevaluation = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 1) {
+            ServiceMedicalevaluation serviceMedicalevaluation = new ServiceMedicalevaluation();
+            serviceMedicalevaluation.setInfoid(id);
+            List<ServiceMedicalevaluation> serviceMedicalevaluations = serviceMedicalevaluationService.queryList(serviceMedicalevaluation);
+            log.info("妫�鏌erviceMedicalevaluationService鐨勫�间负锛歿}", serviceMedicalevaluations.size());
+            if (!CollectionUtils.isEmpty(serviceMedicalevaluations)) {
+                medicalevaluation.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceMedicalevaluations.get(0).getCreateTime()));
+                medicalevaluation.put("updatetime", serviceMedicalevaluations.get(0).getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceMedicalevaluations.get(0).getUpdateTime()) : null);
+                medicalevaluation.put("createperson", null);
+                if (StringUtils.isNotBlank(serviceMedicalevaluations.get(0).getCreateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceMedicalevaluations.get(0).getCreateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        medicalevaluation.put("createperson", sysUser.getNickName());
+                    }
+                }
+                medicalevaluation.put("updateperson", null);
+                if (StringUtils.isNotBlank(serviceMedicalevaluations.get(0).getUpdateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceMedicalevaluations.get(0).getUpdateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        medicalevaluation.put("updateperson", sysUser.getNickName());
+                    }
+
+                }
+                medicalevaluation.put("process", "");
+            }
+        }
+        //灏佽鍖诲璇勪及杩斿洖鏁版嵁
+        log.info("妫�鏌ュ皝瑁呭尰瀛﹁瘎浼拌繑鍥炴暟鎹甿edicalevaluation鐨勫�间负锛歿}", medicalevaluation);
+        map.put("medicalevaluation", medicalevaluation);
+
+        //灏佽鎹愮尞纭
+        Map<String, String> relativesconfirmation = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 2) {
+            ServiceRelativesconfirmation serviceRelativesconfirmation = new ServiceRelativesconfirmation();
+            serviceRelativesconfirmation.setInfoid(id);
+            List<ServiceRelativesconfirmation> serviceRelativesconfirmations = serviceRelativesconfirmationService.queryList(serviceRelativesconfirmation);
+            log.info("妫�鏌erviceRelativesconfirmations鐨勫�间负锛歿}", serviceRelativesconfirmations.size());
+            if (!CollectionUtils.isEmpty(serviceRelativesconfirmations)) {
+                relativesconfirmation.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceRelativesconfirmations.get(0).getCreateTime()));
+                relativesconfirmation.put("updatetime", serviceRelativesconfirmations.get(0).getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceRelativesconfirmations.get(0).getUpdateTime()) : "");
+                relativesconfirmation.put("createperson", null);
+                if (StringUtils.isNotBlank(serviceRelativesconfirmations.get(0).getCreateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceRelativesconfirmations.get(0).getCreateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        relativesconfirmation.put("createperson", sysUser.getNickName());
+                    }
+
+                }
+                relativesconfirmation.put("updateperson", null);
+                if (StringUtils.isNotBlank(serviceRelativesconfirmations.get(0).getUpdateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceRelativesconfirmations.get(0).getUpdateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        relativesconfirmation.put("updateperson", sysUser.getNickName());
+                    }
+                }
+                relativesconfirmation.put("process", "");
+            }
+        }
+        //灏佽鎹愮尞纭杩斿洖鏁版嵁
+        log.info("妫�鏌ュ皝瑁呮崘鐚‘璁よ繑鍥炴暟鎹畆elativesconfirmation鐨勫�间负锛歿}", relativesconfirmation);
+        map.put("relativesconfirmation", relativesconfirmation);
+
+
+        //灏佽浼︾悊瀹℃煡
+        Map<String, String> donateflowcharts = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 3) {
+            ServiceEthicalreviewopinions serviceDonateflowchart = new ServiceEthicalreviewopinions();
+            serviceDonateflowchart.setInfoid(id);
+            List<ServiceEthicalreviewopinions> serviceEthicalreviewopinionsList = iServiceEthicalreviewopinionsService.queryList(serviceDonateflowchart);
+            log.info("妫�鏌erviceEthicalreviewopinionsList鐨勫�间负锛歿}", serviceEthicalreviewopinionsList.size());
+            if (!CollectionUtils.isEmpty(serviceEthicalreviewopinionsList)) {
+                donateflowcharts.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceEthicalreviewopinionsList.get(0).getCreateTime()));
+                donateflowcharts.put("updatetime", serviceEthicalreviewopinionsList.get(0).getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceEthicalreviewopinionsList.get(0).getUpdateTime()) : "");
+                donateflowcharts.put("createperson", null);
+                if (StringUtils.isNotBlank(serviceEthicalreviewopinionsList.get(0).getCreateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceEthicalreviewopinionsList.get(0).getCreateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donateflowcharts.put("createperson", sysUser.getNickName());
+                    }
+
+                }
+                donateflowcharts.put("updateperson", null);
+                if (StringUtils.isNotBlank(serviceEthicalreviewopinionsList.get(0).getUpdateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceEthicalreviewopinionsList.get(0).getUpdateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donateflowcharts.put("updateperson", sysUser.getNickName());
+                    }
+
+                }
+                donateflowcharts.put("process", "");
+            }
+        }
+        //灏佽浼︾悊瀹℃煡杩斿洖鏁版嵁
+        log.info("妫�鏌ュ皝瑁呬鸡鐞嗗鏌ヨ繑鍥炴暟鎹甦onateflowcharts鐨勫�间负锛歿}", donateflowcharts);
+        map.put("donateflowcharts", donateflowcharts);
+
+        //灏佽鍣ㄥ畼鍒嗛厤
+        Map<String, String> donateorgansService = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 4) {
+            ServiceDonateorgan serviceDonateorgan = new ServiceDonateorgan();
+            serviceDonateorgan.setInfoid(id);
+            List<ServiceDonateorgan> serviceDonateorgans = serviceDonateorganService.queryList(serviceDonateorgan);
+            log.info("妫�鏌erviceDonateorgans鐨勫�间负锛歿}", serviceDonateorgans.size());
+            if (!CollectionUtils.isEmpty(serviceDonateorgans)) {
+                donateorgansService.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonateorgans.get(0).getCreateTime()));
+                donateorgansService.put("updatetime", serviceDonateorgans.get(0).getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonateorgans.get(0).getUpdateTime()) : "");
+
+                donateorgansService.put("createperson", null);
+                if (StringUtils.isNotBlank(serviceDonateorgans.get(0).getCreateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonateorgans.get(0).getCreateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donateorgansService.put("createperson", sysUser.getNickName());
+                    }
+
+                }
+                donateorgansService.put("updateperson", null);
+                if (StringUtils.isNotBlank(serviceDonateorgans.get(0).getUpdateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonateorgans.get(0).getUpdateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donateorgansService.put("updateperson", sysUser.getNickName());
+                    }
+                }
+                donateorgansService.put("process", "");
+            }
+        }
+        log.info("妫�鏌ュ皝瑁呭櫒瀹樺垎閰嶈繑鍥炴暟鎹甦onateorgansService鐨勫�间负锛歿}", donateorgansService);
+        //灏佽鍣ㄥ畼鍒嗛厤杩斿洖鏁版嵁
+        map.put("donateorgansService", donateorgansService);
+
+        //灏佽鑾峰彇瑙佽瘉
+        Map<String, String> donationwitness = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 5) {
+            ServiceDonationwitness serviceDonationwitness = serviceDonationwitnessService.getByInfoId(id);
+            log.info("妫�鏌erviceDonationwitness鐨勫�间负锛歿}", serviceDonationwitness);
+            if (!ObjectUtils.isEmpty(serviceDonationwitness)) {
+                donationwitness.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonationwitness.getCreateTime()));
+                donationwitness.put("updatetime", serviceDonationwitness.getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonationwitness.getUpdateTime()) : "");
+
+                donationwitness.put("createperson", null);
+                if (StringUtils.isNotBlank(serviceDonationwitness.getCreateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonationwitness.getCreateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donationwitness.put("createperson", sysUser.getNickName());
+                    }
+                }
+                donationwitness.put("updateperson", null);
+                if (StringUtils.isNotBlank(serviceDonationwitness.getUpdateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonationwitness.getUpdateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donationwitness.put("updateperson", sysUser.getNickName());
+                    }
+                }
+
+                donationwitness.put("process", "");
+            }
+        }
+        log.info("妫�鏌ュ皝瑁呰幏鍙栬璇佽繑鍥炴暟鎹甦onationwitness鐨勫�间负锛歿}", donationwitness);
+        //灏佽鑾峰彇瑙佽瘉杩斿洖鏁版嵁
+        map.put("donationwitness", donationwitness);
+
+        //灏佽瀹屾垚鐧昏
+        Map<String, String> donatecompletioninfo = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 6) {
+            ServiceDonatecompletioninfo serviceDonatecompletioninfo = new ServiceDonatecompletioninfo();
+            serviceDonatecompletioninfo.setInfoid(id);
+            List<ServiceDonatecompletioninfo> serviceDonatecompletioninfos = serviceDonatecompletioninfoService.queryList(serviceDonatecompletioninfo);
+            log.info("妫�鏌erviceDonatecompletioninfos鐨勫�间负锛歿}", serviceDonatecompletioninfos);
+            if (!CollectionUtils.isEmpty(serviceDonatecompletioninfos)) {
+                donatecompletioninfo.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonatecompletioninfos.get(0).getCreateTime()));
+                donatecompletioninfo.put("updatetime", serviceDonatecompletioninfos.get(0).getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonatecompletioninfos.get(0).getUpdateTime()) : "");
+
+                donatecompletioninfo.put("createperson", null);
+                if (StringUtils.isNotBlank(serviceDonatecompletioninfos.get(0).getCreateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonatecompletioninfos.get(0).getCreateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donatecompletioninfo.put("createperson", sysUser.getNickName());
+                    }
+                }
+                donatecompletioninfo.put("updateperson", null);
+                if (StringUtils.isNotBlank(serviceDonatecompletioninfos.get(0).getUpdateBy())) {
+                    SysUser sysUser = sysUserMapper.selectUserByUserName(serviceDonatecompletioninfos.get(0).getUpdateBy());
+                    if (!ObjectUtils.isEmpty(sysUser)) {
+                        donatecompletioninfo.put("updateperson", sysUser.getNickName());
+                    }
+                }
+
+                donatecompletioninfo.put("process", "");
+            }
+        }
+        log.info("妫�鏌ュ皝瑁呭畬鎴愮櫥璁拌繑鍥炴暟鎹甦onatecompletioninfo鐨勫�间负锛歿}", donatecompletioninfo);
+        //灏佽瀹屾垚鐧昏杩斿洖鏁版嵁
+        map.put("donatecompletioninfo", donatecompletioninfo);
+
+        //灏嗘暟鎹皝闂紝骞惰繑鍥�
+        return map;
+    }
 }
-
-

--
Gitblit v1.9.3