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 | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 203 insertions(+), 4 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 2615bbf..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 @@ -1,7 +1,6 @@ package com.doumee.service.business.impl; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.api.R; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -14,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; @@ -27,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; @@ -40,6 +42,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.net.URLEncoder; +import java.nio.charset.Charset; import java.util.*; import java.util.stream.Collectors; @@ -445,6 +448,7 @@ List<File> fileList = new ArrayList<>(); List<Multifile> multifileList = multifileJoinMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getIsdeleted,Constants.ZERO) .eq(Multifile::getObjId,id) .isNotNull(Multifile::getFileurl) .in(Multifile::getObjType, Arrays.asList(new Integer[]{ @@ -471,14 +475,14 @@ if(fileList == null || fileList.size() == 0){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } - String fileName = model.getInformantName() +"鐞嗚禂璧勬枡涓媉"+System.currentTimeMillis()+".zip" ; - String encodeFileName = URLEncoder.encode(fileName); + String fileName = model.getInformantName() +"-鐞嗚禂璧勬枡-" +System.currentTimeMillis(); + String encodeFileName =URLEncoder.encode(fileName, Charset.forName("UTF-8").toString())+".zip"; response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName); response.setContentType("application/octet-stream"); response.setHeader("eva-opera-type", "download"); response.setHeader("eva-download-filename", encodeFileName); Constants.packFilesToZip(fileList,response.getOutputStream()); - } catch (IOException e) { + } catch (Exception e) { throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); } } @@ -939,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