liusheng
2023-10-18 a54e249f9fedf3633825dd7a6846621df7b110b9
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
@@ -1,25 +1,26 @@
package com.ruoyi.project.service.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.*;
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.vo.TimeVO;
import com.ruoyi.project.domain.vo.countByRecordStateVO;
import com.ruoyi.project.mapper.*;
import com.ruoyi.project.service.IBaseOnlyvalueService;
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;
@@ -27,13 +28,12 @@
/**
 * 捐献基础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 +47,43 @@
    @Autowired
    ServiceDonationwitnessMapper serviceDonationwitnessMapper;
    @Autowired
    private IBaseOnlyvalueService baseOnlyvalueService;
    /**
     * 查询捐献基础列表
     *
     *
     * @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 +97,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 +137,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 +184,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 +207,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());
        }