From b7cd70a1dc48f2cd2f5ed36d09f92c8ebcc62c8b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 03 十一月 2023 15:20:45 +0800
Subject: [PATCH] 修改审批流程
---
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java | 246 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 192 insertions(+), 54 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 549a817..ccc033f 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,39 +1,37 @@
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涓氬姟灞傚鐞�
- *
+ *
* @author ruoyi
* @date 2021-11-13
*/
@Service
-public class ServiceDonatebaseinfoServiceImpl extends ServiceImpl<ServiceDonatebaseinfoMapper, ServiceDonatebaseinfo> implements IServiceDonatebaseinfoService
-{
+public class ServiceDonatebaseinfoServiceImpl extends ServiceImpl<ServiceDonatebaseinfoMapper, ServiceDonatebaseinfo> implements IServiceDonatebaseinfoService {
@Autowired
BaseOrganizationMapper baseOrganizationMapper;
@@ -47,41 +45,61 @@
@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 IServiceDonationwitnessService serviceDonationwitnessService;
+
+ @Autowired
+ private IServiceDonatecompletioninfoService serviceDonatecompletioninfoService;
/**
* 鏌ヨ鎹愮尞鍩虹鍒楄〃
- *
+ *
* @param serviceDonatebaseinfo 鎹愮尞鍩虹
* @return 鎹愮尞鍩虹
*/
@Override
public List<ServiceDonatebaseinfo> queryList(ServiceDonatebaseinfo serviceDonatebaseinfo) {
LambdaQueryWrapper<ServiceDonatebaseinfo> wrappers = Wrappers.lambdaQuery();
- if (StringUtils.isNotBlank(serviceDonatebaseinfo.getName())){
- wrappers.like(ServiceDonatebaseinfo::getName ,serviceDonatebaseinfo.getName());
+ if (StringUtils.isNotBlank(serviceDonatebaseinfo.getName())) {
+ wrappers.like(ServiceDonatebaseinfo::getName, serviceDonatebaseinfo.getName());
}
- if (StringUtils.isNotBlank(serviceDonatebaseinfo.getIdcardno())){
- wrappers.like(ServiceDonatebaseinfo::getIdcardno ,serviceDonatebaseinfo.getIdcardno());
+ if (StringUtils.isNotBlank(serviceDonatebaseinfo.getIdcardno())) {
+ wrappers.like(ServiceDonatebaseinfo::getIdcardno, serviceDonatebaseinfo.getIdcardno());
}
- if (StringUtils.isNotBlank(serviceDonatebaseinfo.getResidenceprovince())){
- wrappers.eq(ServiceDonatebaseinfo::getResidenceprovince ,serviceDonatebaseinfo.getResidenceprovince());
+ if (StringUtils.isNotBlank(serviceDonatebaseinfo.getResidenceprovince())) {
+ wrappers.eq(ServiceDonatebaseinfo::getResidenceprovince, serviceDonatebaseinfo.getResidenceprovince());
}
- if (serviceDonatebaseinfo.getRecordstate() != null){
- wrappers.eq(ServiceDonatebaseinfo::getRecordstate ,serviceDonatebaseinfo.getRecordstate());
+ if (serviceDonatebaseinfo.getRecordstate() != null) {
+ wrappers.eq(ServiceDonatebaseinfo::getRecordstate, serviceDonatebaseinfo.getRecordstate());
}
- if (StringUtils.isNotBlank(serviceDonatebaseinfo.getTreatmenthospitalname())){
- wrappers.like(ServiceDonatebaseinfo::getTreatmenthospitalname ,serviceDonatebaseinfo.getTreatmenthospitalname());
+ if (StringUtils.isNotBlank(serviceDonatebaseinfo.getTreatmenthospitalname())) {
+ wrappers.like(ServiceDonatebaseinfo::getTreatmenthospitalname, serviceDonatebaseinfo.getTreatmenthospitalname());
}
- if (StringUtils.isNotBlank(serviceDonatebaseinfo.getDonorno())){
- wrappers.eq(ServiceDonatebaseinfo::getDonorno ,serviceDonatebaseinfo.getDonorno());
+ if (StringUtils.isNotBlank(serviceDonatebaseinfo.getDonorno())) {
+ wrappers.eq(ServiceDonatebaseinfo::getDonorno, serviceDonatebaseinfo.getDonorno());
}
- if (StringUtils.isNotBlank(serviceDonatebaseinfo.getReportername())){
- wrappers.like(ServiceDonatebaseinfo::getReportername ,serviceDonatebaseinfo.getReportername());
+ if (StringUtils.isNotBlank(serviceDonatebaseinfo.getReportername())) {
+ wrappers.like(ServiceDonatebaseinfo::getReportername, serviceDonatebaseinfo.getReportername());
}
Map<String, Object> params = serviceDonatebaseinfo.getParams();
if (params.get("beginReporttime") != null && params.get("endReporttime") != null) {
- wrappers.between(ServiceDonatebaseinfo::getReporttime ,params.get("beginReporttime"),params.get("endReporttime"));
+ wrappers.between(ServiceDonatebaseinfo::getReporttime, params.get("beginReporttime"), params.get("endReporttime"));
}
return this.list(wrappers);
}
@@ -95,7 +113,9 @@
//鍙戠幇鍖婚櫌 C1C2AF1N1
String hospitalNo = serviceDonatebaseinfo.getTreatmenthospitalno();
BaseOrganization baseOrganization = baseOrganizationMapper.getOrganizationByNumber(hospitalNo);
- donateNumber += baseOrganization.getOrganizationid();
+ if (ObjectUtils.isNotEmpty(baseOrganization)) {
+ donateNumber += baseOrganization.getOrganizationid();
+ }
//宸ヤ綔浜哄憳 H1H2H3
donateNumber += serviceDonatebaseinfo.getReporterno();
@@ -133,31 +153,41 @@
public String updateS1S2S3S4(Long id) {
String oldDonateNumber = serviceDonatebaseinfoMapper.getDonateNumberById(id);
- List <ServiceDonationwitness> list = serviceDonationwitnessMapper.getWitnessList();
+ List<ServiceDonationwitness> list = serviceDonationwitnessMapper.getWitnessList();
int completeDonation = list.size();
String number = "";
- if(completeDonation < 10){
- number = "000" + 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;
}
- else if(completeDonation >= 10 && completeDonation < 100){
- number = "00" + completeDonation;
- }
- else if(completeDonation >= 100 && completeDonation < 1000){
- number = "0" + completeDonation;
- }
- else {
- number = "" + completeDonation;
- }
+ //濡傛灉currentvalue涓嶆弧瓒�4浣嶏紝鍒欏湪鍓嶉潰琛�0
+ String formattedNumber = String.format("%04d", currentvalue);
int last = oldDonateNumber.lastIndexOf("*");
- if(last == -1){
+ if (last == -1) {
return oldDonateNumber;
- }
- else {
+ } 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);
@@ -170,21 +200,21 @@
public List<ServiceDonatebaseinfo> selectServiceDonatebaseinfoList(ServiceDonatebaseinfo serviceDonatebaseinfo) {
SysUser user = SecurityUtils.getLoginUser().getUser();
- List <SysRole> l = user.getRoles();
+ List<SysRole> l = user.getRoles();
int b = 0;
- for(SysRole r : l){
- if(r.getRoleId().longValue() == 3){
+ for (SysRole r : l) {
+ if (r.getRoleId().longValue() == 3) {
b = 1;
}
- if(r.getRoleId().longValue() == 13){
+ if (r.getRoleId().longValue() == 13) {
b = 2;
}
}
- if(b == 1){
+ if (b == 1) {
serviceDonatebaseinfo.setCreateBy(user.getUserName());
}
- if(b == 2){
+ if (b == 2) {
serviceDonatebaseinfo.setDeptid(user.getDeptId());
}
return serviceDonatebaseinfoMapper.selectServiceDonatebaseinfoList(serviceDonatebaseinfo);
@@ -193,14 +223,14 @@
@Override
public List<ServiceDonatebaseinfo> listForSearch(ServiceDonatebaseinfo serviceDonatebaseinfo) {
SysUser user = SecurityUtils.getLoginUser().getUser();
- List <SysRole> l = user.getRoles();
+ List<SysRole> l = user.getRoles();
Boolean b = false;
- for(SysRole r : l){
- if(r.getRoleId().longValue() == 3){
+ for (SysRole r : l) {
+ if (r.getRoleId().longValue() == 3) {
b = true;
}
}
- if(b){
+ if (b) {
serviceDonatebaseinfo.setCreateBy(user.getUserName());
}
@@ -232,7 +262,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> donateorgan = new HashMap<>();
+ donateorgan.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonatebaseinfo.getCreateTime()));
+ donateorgan.put("updatetime", serviceDonatebaseinfo.getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceDonatebaseinfo.getUpdateTime()) : "");
+ donateorgan.put("process", "");
+ //灏佽serviceDonateorgan娼滃湪鎹愮尞杩斿洖鏁版嵁
+ map.put("donateorgan", donateorgan);
+
+ //灏佽鍖诲璇勪及
+ 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> organallocationService = new HashMap<>();
+ if (serviceDonatebaseinfo.getWorkflow() >= 4) {
+ ServiceOrganallocation serviceOrganallocation = new ServiceOrganallocation();
+ serviceOrganallocation.setOrganid(id);
+ List<ServiceOrganallocation> serviceOrganallocations = serviceOrganallocationService.selectServiceOrganallocationList(serviceOrganallocation);
+ if (!CollectionUtils.isEmpty(serviceOrganallocations)) {
+ organallocationService.put("createtime", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceOrganallocations.get(0).getCreateTime()));
+ organallocationService.put("updatetime", serviceOrganallocations.get(0).getUpdateTime() != null ? DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", serviceOrganallocations.get(0).getUpdateTime()) : "");
+ organallocationService.put("process", "");
+ }
+ }
+ //灏佽鍣ㄥ畼鍒嗛厤杩斿洖鏁版嵁
+ map.put("organallocationService", organallocationService);
+
+ //灏佽鑾峰彇瑙佽瘉
+ 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