From 6544203a132369d9d1db2531596f837fcc9fa39f Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 15 五月 2025 18:32:07 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java |  198 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 198 insertions(+), 0 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
index ef2badd..74ad590 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -13,6 +13,7 @@
 import com.doumee.dao.business.SettleClaimsLogMapper;
 import com.doumee.dao.business.SettleClaimsMapper;
 import com.doumee.dao.business.dto.SCSupplementDTO;
+import com.doumee.dao.business.dto.SettleClaimsDTO;
 import com.doumee.dao.business.join.MultifileJoinMapper;
 import com.doumee.dao.business.join.SettleClaimsJoinMapper;
 import com.doumee.dao.business.join.SettleClaimsLogJoinMapper;
@@ -26,10 +27,12 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -940,4 +943,199 @@
         QueryWrapper<SettleClaims> wrapper = new QueryWrapper<>(settleClaims);
         return settleClaimsMapper.selectCount(wrapper);
     }
+
+
+    public void saveSettleClaims(SettleClaimsDTO settleClaimsDTO){
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!loginUserInfo.getType().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氬憳宸ユ棤娉曡繘琛岃鎿嶄綔");
+        }
+        if(Objects.isNull(settleClaimsDTO)
+            || Objects.isNull(settleClaimsDTO.getSaveType())
+            || Objects.isNull(settleClaimsDTO.getMemberId())
+            ||StringUtils.isBlank(settleClaimsDTO.getIdcardNo())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){
+            if(Objects.isNull(settleClaimsDTO.getSolutionId())
+                    ||Objects.isNull(settleClaimsDTO.getWorktypeId())
+                    ||Objects.isNull(settleClaimsDTO.getDuId())
+                    ||StringUtils.isBlank(settleClaimsDTO.getHappenTime())
+                    ||StringUtils.isBlank(settleClaimsDTO.getContent())
+                    ||Objects.isNull(settleClaimsDTO.getType())
+                    ||Objects.isNull(settleClaimsDTO.getInHospital())
+                    ||Objects.isNull(settleClaimsDTO.getHurtType())
+                    ||Objects.isNull(settleClaimsDTO.getMedicalInsurance())
+                    ||StringUtils.isBlank(settleClaimsDTO.getInformantName())
+                    ||StringUtils.isBlank(settleClaimsDTO.getInformantPhone())
+                    ||StringUtils.isBlank(settleClaimsDTO.getReceiveUserName())
+                    ||StringUtils.isBlank(settleClaimsDTO.getReceiveBank())
+                    ||StringUtils.isBlank(settleClaimsDTO.getReceiveAccount())
+            ){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST);
+            }
+        }
+        SettleClaims settleClaims = new SettleClaims();
+        BeanUtils.copyProperties(settleClaimsDTO,settleClaims);
+        if(Objects.nonNull(settleClaims.getId())){
+            settleClaims.setEditDate(new Date());
+            settleClaims.setEditor(loginUserInfo.getId());
+            settleClaimsMapper.updateById(settleClaims);
+        }else{
+            settleClaims.setCreateDate(new Date());
+            settleClaims.setIsdeleted(Constants.ZERO);
+            settleClaims.setCompanyId(loginUserInfo.getCompanyId());
+            settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)?
+                    Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
+            settleClaims.setCreator(loginUserInfo.getId());
+            settleClaims.setCheckUserId(loginUserInfo.getId());
+            settleClaimsMapper.insert(settleClaims);
+        }
+        this.saveFile(settleClaims,settleClaimsDTO,loginUserInfo);
+
+
+    }
+
+
+    public void saveFile(SettleClaims settleClaims,SettleClaimsDTO settleClaimsDTO,LoginUserInfo loginUserInfo){
+        multifileJoinMapper.delete(new QueryWrapper<Multifile>().lambda()
+                .eq(Multifile::getObjId,settleClaims.getId())
+                .in(Multifile::getObjType,
+                        Constants.MultiFile.LP_SGXC_FILE.getKey(),
+                        Constants.MultiFile.LP_YGGX_FILE.getKey(),
+                        Constants.MultiFile.LP_MZCL_FILE.getKey(),
+                        Constants.MultiFile.LP_ZYCL_FILE.getKey(),
+                        Constants.MultiFile.LP_OTHER_FILE.getKey(),
+                        Constants.MultiFile.LP_SCZL_FILE.getKey()
+                )
+        );
+        List<Multifile> reportVideo = settleClaimsDTO.getReportFileList();
+        if(CollectionUtils.isNotEmpty(reportVideo)){
+            for (int i = 0; i < reportVideo.size(); i++) {
+                Multifile multifile = reportVideo.get(i);
+                if(Objects.isNull(multifile.getFileurl())
+                        || Objects.isNull(multifile.getType())
+                        || StringUtils.isBlank(multifile.getName())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjId(settleClaims.getId());
+                multifile.setObjType(Constants.MultiFile.LP_SGXC_FILE.getKey());
+                multifile.setSortnum(i+1);
+                multifileJoinMapper.insert(multifile);
+            }
+        }
+
+        List<Multifile> relationFileList = settleClaimsDTO.getRelationFileList();
+        if(CollectionUtils.isNotEmpty(relationFileList)){
+            for (int i = 0; i < reportVideo.size(); i++) {
+                Multifile multifile = reportVideo.get(i);
+                if(Objects.isNull(multifile.getFileurl())
+                        || Objects.isNull(multifile.getType())
+                        || StringUtils.isBlank(multifile.getName())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjId(settleClaims.getId());
+                multifile.setObjType(Constants.MultiFile.LP_YGGX_FILE.getKey());
+                multifile.setSortnum(i+1);
+                multifileJoinMapper.insert(multifile);
+            }
+        }
+
+        List<Multifile> outpatientFileList = settleClaimsDTO.getOutpatientFileList();
+        if(CollectionUtils.isNotEmpty(outpatientFileList)){
+            for (int i = 0; i < reportVideo.size(); i++) {
+                Multifile multifile = reportVideo.get(i);
+                if(Objects.isNull(multifile.getFileurl())
+                        || Objects.isNull(multifile.getType())
+                        || StringUtils.isBlank(multifile.getName())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjId(settleClaims.getId());
+                multifile.setObjType(Constants.MultiFile.LP_MZCL_FILE.getKey());
+                multifile.setSortnum(i+1);
+                multifileJoinMapper.insert(multifile);
+            }
+        }
+
+        List<Multifile> hospitalFileList = settleClaimsDTO.getHospitalFileList();
+        if(CollectionUtils.isNotEmpty(hospitalFileList)){
+            for (int i = 0; i < reportVideo.size(); i++) {
+                Multifile multifile = reportVideo.get(i);
+                if(Objects.isNull(multifile.getFileurl())
+                        || Objects.isNull(multifile.getType())
+                        || StringUtils.isBlank(multifile.getName())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjId(settleClaims.getId());
+                multifile.setObjType(Constants.MultiFile.LP_ZYCL_FILE.getKey());
+                multifile.setSortnum(i+1);
+                multifileJoinMapper.insert(multifile);
+            }
+        }
+
+        List<Multifile> disabilityFileList = settleClaimsDTO.getDisabilityFileList();
+        if(CollectionUtils.isNotEmpty(disabilityFileList)){
+            for (int i = 0; i < reportVideo.size(); i++) {
+                Multifile multifile = reportVideo.get(i);
+                if(Objects.isNull(multifile.getFileurl())
+                        || Objects.isNull(multifile.getType())
+                        || StringUtils.isBlank(multifile.getName())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjId(settleClaims.getId());
+                multifile.setObjType(Constants.MultiFile.LP_SCZL_FILE.getKey());
+                multifile.setSortnum(i+1);
+                multifileJoinMapper.insert(multifile);
+            }
+        }
+
+        List<Multifile> otherFileList = settleClaimsDTO.getOtherFileList();
+        if(CollectionUtils.isNotEmpty(otherFileList)){
+            for (int i = 0; i < reportVideo.size(); i++) {
+                Multifile multifile = reportVideo.get(i);
+                if(Objects.isNull(multifile.getFileurl())
+                        || Objects.isNull(multifile.getType())
+                        || StringUtils.isBlank(multifile.getName())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+                }
+                multifile.setCreator(loginUserInfo.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setObjId(settleClaims.getId());
+                multifile.setObjType(Constants.MultiFile.LP_OTHER_FILE.getKey());
+                multifile.setSortnum(i+1);
+                multifileJoinMapper.insert(multifile);
+            }
+        }
+
+
+
+
+    }
+
+
+
+
 }

--
Gitblit v1.9.3