From 6f344e6360751574f7e03b21c00cfa3f4b2bc099 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 10 十一月 2023 15:41:41 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java |  178 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 160 insertions(+), 18 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 daf25c0..d53a421 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
@@ -1,32 +1,28 @@
 package com.ruoyi.project.service.impl;
 
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
+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.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.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
-import java.util.ArrayList;
-import java.util.Map;
-
 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涓氬姟灞傚鐞�
@@ -48,6 +44,30 @@
 
     @Autowired
     ServiceDonationwitnessMapper serviceDonationwitnessMapper;
+
+    @Autowired
+    private IBaseOnlyvalueService baseOnlyvalueService;
+
+    @Autowired
+    private IServiceMedicalevaluationService serviceMedicalevaluationService;
+
+    @Autowired
+    private IServiceRelativesconfirmationService serviceRelativesconfirmationService;
+
+    @Autowired
+    private IServiceEthicalreviewopinionsService serviceEthicalreviewopinionsService;
+
+    @Autowired
+    private IServiceOrganallocationService serviceOrganallocationService;
+
+    @Autowired
+    private IServiceDonateorganService serviceDonateorganService;
+
+    @Autowired
+    private IServiceDonationwitnessService serviceDonationwitnessService;
+
+    @Autowired
+    private IServiceDonatecompletioninfoService serviceDonatecompletioninfoService;
 
 
     /**
@@ -141,22 +161,36 @@
 
         String number = "";
 
-        if (completeDonation < 10) {
-            number = "000" + completeDonation;
-        } else if (completeDonation >= 10 && completeDonation < 100) {
-            number = "00" + completeDonation;
-        } else if (completeDonation >= 100 && completeDonation < 1000) {
-            number = "0" + completeDonation;
-        } else {
-            number = "" + completeDonation;
+//        if (completeDonation < 10) {
+//            number = "000" + completeDonation;
+//        } else if (completeDonation >= 10 && completeDonation < 100) {
+//            number = "00" + completeDonation;
+//        } else if (completeDonation >= 100 && completeDonation < 1000) {
+//            number = "0" + completeDonation;
+//        } else {
+//            number = "" + completeDonation;
+//        }
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        BaseOnlyvalue baseOnlyvalue = new BaseOnlyvalue();
+        baseOnlyvalue.setAppentvalue(String.valueOf(year));
+        baseOnlyvalue.setBusinesstype("donationwitness");
+        List<BaseOnlyvalue> baseOnlyvalues = baseOnlyvalueService.queryList(baseOnlyvalue);
+        Long currentvalue = baseOnlyvalues.get(0).getCurrentvalue();
+        if (currentvalue == null) {
+            log.error("鍞竴鍊间负绌轰簡锛�");
+            return null;
         }
+        //濡傛灉currentvalue涓嶆弧瓒�4浣嶏紝鍒欏湪鍓嶉潰琛�0
+        String formattedNumber = String.format("%04d", currentvalue);
 
         int last = oldDonateNumber.lastIndexOf("*");
         if (last == -1) {
             return oldDonateNumber;
         } else {
             StringBuilder newDonateNumber = new StringBuilder(oldDonateNumber);
-            newDonateNumber.replace(last - 3, last + 1, number);
+//            newDonateNumber.replace(last - 3, last + 1, number);
+            newDonateNumber.replace(last - 3, last + 1, formattedNumber);
 
             String updateNumber = newDonateNumber.toString();
             int result = serviceDonatebaseinfoMapper.updateDonateNumber(id, updateNumber);
@@ -231,7 +265,115 @@
         return serviceDonatebaseinfoMapper.getDonateNameById(infoid);
     }
 
+    @Override
+    public Map<String, Object> getWorkFlow(Long 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("process", "");
+        //灏佽serviceDonateorgan娼滃湪鎹愮尞杩斿洖鏁版嵁
+        map.put("donatebaseinfo", donatebaseinfo);
+
+        //灏佽鍖诲璇勪及
+        Map<String, String> medicalevaluation = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 1) {
+            ServiceMedicalevaluation serviceMedicalevaluation = new ServiceMedicalevaluation();
+            serviceMedicalevaluation.setInfoid(id);
+            List<ServiceMedicalevaluation> serviceMedicalevaluations = serviceMedicalevaluationService.queryList(serviceMedicalevaluation);
+            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("process", "");
+            }
+        }
+        //灏佽鍖诲璇勪及杩斿洖鏁版嵁
+        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);
+            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("process", "");
+            }
+        }
+        //灏佽鎹愮尞纭杩斿洖鏁版嵁
+        map.put("relativesconfirmation", relativesconfirmation);
+
+
+        //灏佽浼︾悊瀹℃煡
+        Map<String, String> ethicalreviewopinions = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 3) {
+            ServiceEthicalreviewopinions serviceEthicalreviewopinions = new ServiceEthicalreviewopinions();
+            serviceEthicalreviewopinions.setInfoid(id);
+            List<ServiceEthicalreviewopinions> serviceEthicalreviewopinionsList = serviceEthicalreviewopinionsService.queryList(serviceEthicalreviewopinions);
+            if (!CollectionUtils.isEmpty(serviceEthicalreviewopinionsList)) {
+                ethicalreviewopinions.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceEthicalreviewopinionsList.get(0).getCreateTime()));
+                ethicalreviewopinions.put("updatetime", serviceEthicalreviewopinionsList.get(0).getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceEthicalreviewopinionsList.get(0).getUpdateTime()) : "");
+                ethicalreviewopinions.put("process", "");
+            }
+        }
+        //灏佽浼︾悊瀹℃煡杩斿洖鏁版嵁
+        map.put("ethicalreviewopinions", ethicalreviewopinions);
+
+        //灏佽鍣ㄥ畼鍒嗛厤
+        Map<String, String> donateorgansService = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 4) {
+            ServiceDonateorgan serviceDonateorgan = new ServiceDonateorgan();
+            serviceDonateorgan.setInfoid(id);
+            List<ServiceDonateorgan> serviceDonateorgans = serviceDonateorganService.queryList(serviceDonateorgan);
+            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("process", "");
+            }
+        }
+        //灏佽鍣ㄥ畼鍒嗛厤杩斿洖鏁版嵁
+        map.put("donateorgansService", donateorgansService);
+
+        //灏佽鑾峰彇瑙佽瘉
+        Map<String, String> donationwitness = new HashMap<>();
+        if (serviceDonatebaseinfo.getWorkflow() >= 5) {
+            ServiceDonationwitness serviceDonationwitness = serviceDonationwitnessService.getByInfoId(id);
+            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("process", "");
+            }
+        }
+        //灏佽鑾峰彇瑙佽瘉杩斿洖鏁版嵁
+        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);
+            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("process", "");
+            }
+        }
+        //灏佽瀹屾垚鐧昏杩斿洖鏁版嵁
+        map.put("donatecompletioninfo", donatecompletioninfo);
+
+        //灏嗘暟鎹皝闂紝骞惰繑鍥�
+        return map;
+    }
 }
 
 

--
Gitblit v1.9.3