From a28247ecb3751689b9aa64c2e3d32c646cd88e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 22 一月 2024 18:19:34 +0800
Subject: [PATCH] 111
---
server/service/src/main/java/com/doumee/dao/business/model/Solutions.java | 7
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java | 7
server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java | 15 +
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 242 ++++++++++++++++++++++++++++--
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java | 1
server/company/src/main/java/com/doumee/api/business/SettleClaimsController.java | 22 ++
server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java | 2
server/service/src/main/java/com/doumee/dao/business/join/SettleClaimsJoinMapper.java | 13 +
server/company/src/main/java/com/doumee/api/business/SolutionsController.java | 1
server/service/src/main/java/com/doumee/core/utils/Constants.java | 123 +++++++++++++++
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 2
server/service/src/main/java/com/doumee/dao/business/dto/SCSupplementDTO.java | 31 +++
server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java | 2
13 files changed, 446 insertions(+), 22 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/api/business/SettleClaimsController.java b/server/company/src/main/java/com/doumee/api/business/SettleClaimsController.java
index fb2f5fa..f3ecd19 100644
--- a/server/company/src/main/java/com/doumee/api/business/SettleClaimsController.java
+++ b/server/company/src/main/java/com/doumee/api/business/SettleClaimsController.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
+import com.doumee.dao.business.dto.SCSupplementDTO;
import com.doumee.dao.business.model.SettleClaims;
import com.doumee.service.business.SettleClaimsService;
import io.swagger.annotations.Api;
@@ -63,10 +64,29 @@
@PostMapping("/updateById")
@RequiresPermissions("business:settleclaims:update")
public ApiResponse updateById(@RequestBody SettleClaims settleClaims) {
- settleClaimsService.updateById(settleClaims);
+ settleClaimsService.updateForCompany(settleClaims);
return ApiResponse.success(null);
}
+ @ApiOperation("琛ュ厖璇存槑")
+ @PostMapping("/supplement")
+ @RequiresPermissions("business:settleclaims:update")
+ public ApiResponse supplement(@RequestBody SCSupplementDTO scSupplementDTO) {
+ settleClaimsService.supplement(scSupplementDTO);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("闄勪欢涓婁紶")
+ @PostMapping("/claimsUploadFile")
+ @RequiresPermissions("business:settleclaims:update")
+ public ApiResponse claimsUploadFile(@RequestBody SCSupplementDTO scSupplementDTO) {
+ settleClaimsService.claimsUploadFile(scSupplementDTO);
+ return ApiResponse.success(null);
+ }
+
+
+
+
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@RequiresPermissions("business:settleclaims:query")
diff --git a/server/company/src/main/java/com/doumee/api/business/SolutionsController.java b/server/company/src/main/java/com/doumee/api/business/SolutionsController.java
index 492c4e0..26228ba 100644
--- a/server/company/src/main/java/com/doumee/api/business/SolutionsController.java
+++ b/server/company/src/main/java/com/doumee/api/business/SolutionsController.java
@@ -100,4 +100,5 @@
public ApiResponse findById(@PathVariable Integer id) {
return ApiResponse.success(solutionsService.findById(id));
}
+
}
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 8cf62e0..07c89d8 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -759,7 +759,7 @@
public static BigDecimal countDetailFee(Solutions solutions,Date startDate, Date endDate){
//鏌ヨ淇濋櫓瀹為檯鍛ㄦ湡
- Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getDataType());
+ Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getTimeUnit());
if(cycle==-1){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏃ユ湡淇℃伅閿欒!");
}
@@ -789,7 +789,7 @@
// 鏅�氭柟娉�
public static String getName(int index) {
- for (ApplyLogType c : ApplyLogType.values()) {
+ for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
if (c.getKey() == index) {
return c.name;
}
@@ -816,6 +816,125 @@
}
+
+
+ public enum SettleClaimsStatus {
+ WAIT_ACCEPTANCE(0, "寰呭彈鐞�"),
+ RETURN_ACCEPTANCE(1, "閫�鍥炲彈鐞�"),
+ CONFIRM_INFORMATION(2, "纭璧勬枡"),
+ FINISH_ACCEPTANCE(3, "瀹屾垚鍙楃悊"),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+
+ // 鏋勯�犳柟娉�
+ SettleClaimsStatus(int key, String name) {
+ this.name = name;
+ this.key = key;
+ }
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (SettleClaimsStatus c : SettleClaimsStatus.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+ }
+
+
+
+ public enum SettleClaimsLogType {
+ UPLOAD(0, "鎻愪氦鎶ユ","鎻愪氦鎰忚锛�${param}"),
+ PLATFORM_RETURN(1, "骞冲彴閫�鍥�","鎻愪氦鎰忚锛�${param}"),
+ CONFIRM_INFORMATION(2, "骞冲彴纭璧勬枡","鎻愪氦鎰忚锛�${param}"),
+ PLATFORM_FINISH(3, "骞冲彴瀹屾垚鍙楃悊","鎻愪氦鎰忚锛�${param}"),
+ UPDATE_DATA(4, "淇敼淇℃伅","鎻愪氦鎰忚锛�${param}"),
+ SUPPLEMENT(5, "琛ュ厖璇存槑","鎻愪氦鎰忚锛�${param}"),
+ COMPANY_APPLY_RETURN(6, "骞冲彴鐞嗚禂澶勭悊","鎻愪氦鎰忚锛�${param}"),
+ COMPANY_APPLY_CLOSE(7, "骞冲彴澶囨敞鏍囩",""),
+ PLATFORM_AGREE_BACK(8, "骞冲彴娣诲姞鎶ユ鍙�",""),
+ PLATFORM_UN_AGREE_BACK(9, "浼佷笟涓嬭浇璧勬枡",""),
+ COMPANY_EDIT(10, "骞冲彴涓嬭浇璧勬枡",""),
+ PLATFORM_CHECK_PASS(11, "骞冲彴涓婁紶璧勬枡",""),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private String info;
+ private int key;
+
+ // 鏋勯�犳柟娉�
+ SettleClaimsLogType(int key, String name,String info) {
+ this.name = name;
+ this.info = info;
+ this.key = key;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (ApplyLogType c : ApplyLogType.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+ public static String getInfo(int index) {
+ for (ApplyLogType c : ApplyLogType.values()) {
+ if (c.getKey() == index) {
+ return c.info;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+
+ public void setInfo(String info) {
+ this.info = info;
+ }
+ }
+
+
+
+
//3=閫�鍥炵敵璇凤紱4=骞冲彴瀹℃壒閫氳繃锛�0=瀹℃壒椹冲洖;5=骞冲彴瀹℃壒椹冲洖
public enum ApplyChangeLogStatus {
UPLOAD(0, "鍙戣捣鐢宠"),
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/SCSupplementDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/SCSupplementDTO.java
new file mode 100644
index 0000000..c828716
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/SCSupplementDTO.java
@@ -0,0 +1,31 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/1/22 16:44
+ */
+@Data
+public class SCSupplementDTO {
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "琛ュ厖璇存槑")
+ private String supplement;
+
+ @ApiModelProperty(value = "鏂囦欢璺緞")
+ private String fileUrl;
+
+ @ApiModelProperty(value = "鎿嶄綔绫诲瀷锛�0=琛ュ厖璇存槑锛�1=鐞嗚禂鎶ユ浜嬫晠瑙嗛鎴栧浘鐗囷紱2=鐞嗚禂鍛樺伐鍏崇郴璇佹槑鏉愭枡锛�3=鐞嗚禂闂ㄨ瘖璧勬枡锛�4=鐞嗚禂浣忛櫌璧勬枡锛�5=鐞嗚禂浼ゆ畫璧勬枡锛�6=鐞嗚禂璧斾粯缁撴鏉愭枡")
+ private Integer objType;
+
+ @ApiModelProperty(value = "鏂囦欢绫诲瀷锛�0鍥剧墖 1瑙嗛 2鍏朵粬")
+ private Integer fileType;
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/join/SettleClaimsJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/SettleClaimsJoinMapper.java
new file mode 100644
index 0000000..41b02e5
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/join/SettleClaimsJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.SettleClaims;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+public interface SettleClaimsJoinMapper extends MPJJoinMapper<SettleClaims> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
index 2cdac0e..64d05c3 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -10,6 +11,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.math.BigDecimal;
+import java.util.List;
/**
* 鐞嗚禂鐢宠琛�
@@ -145,4 +147,9 @@
@ExcelColumn(name="鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply_")
private Integer insuranceApplyId;
+
+ @ApiModelProperty(value = "鎶ユ瑙嗛")
+ @TableField(exist = false)
+ private List<Multifile> reportFileList;
+
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java
index f55d8d8..4693bee 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java
@@ -69,7 +69,7 @@
@ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜")
@ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
- private String objId;
+ private Integer objId;
@ApiModelProperty(value = "鎿嶄綔鍓嶅唴瀹�")
@ExcelColumn(name="鎿嶄綔鍓嶅唴瀹�")
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java b/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
index ab008d4..4e36fe9 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
@@ -152,6 +152,13 @@
@TableField(exist = false)
private Integer memberId;
+
+ @ApiModelProperty(value = "淇濆崟涓婚敭", example = "1")
+ @TableField(exist = false)
+ private Integer applyId;
+
+
+
@ApiModelProperty(value = "宸ョ缂栫爜闆嗗悎", example = "1")
@TableField(exist = false)
private List<Integer> worktypeIdList;
diff --git a/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java b/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java
index 651f9ce..0877c91 100644
--- a/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java
+++ b/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.SCSupplementDTO;
import com.doumee.dao.business.model.SettleClaims;
import java.util.List;
@@ -20,6 +21,20 @@
*/
Integer create(SettleClaims settleClaims);
+ Integer updateForCompany(SettleClaims settleClaims);
+
+ /**
+ * 琛ュ厖璇存槑
+ * @param scSupplementDTO
+ */
+ void supplement(SCSupplementDTO scSupplementDTO);
+
+ /**
+ * 闄勪欢涓婁紶
+ * @param scSupplementDTO
+ */
+ void claimsUploadFile(SCSupplementDTO scSupplementDTO);
+
/**
* 涓婚敭鍒犻櫎
*
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index 77fd6a4..4f25c0a 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -603,4 +603,6 @@
}
+
+
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
index 13e7166..5743ae7 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.MemberInsuranceMapper;
import com.doumee.dao.business.model.MemberInsurance;
@@ -80,6 +81,7 @@
@Override
public List<MemberInsurance> findList(MemberInsurance memberInsurance) {
+ memberInsurance.setIsdeleted(Constants.ZERO);
QueryWrapper<MemberInsurance> wrapper = new QueryWrapper<>(memberInsurance);
return memberInsuranceMapper.selectList(wrapper);
}
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 4c1b365..4846864 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,19 +1,31 @@
package com.doumee.service.business.impl;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.MultifileMapper;
+import com.doumee.dao.business.SettleClaimsLogMapper;
import com.doumee.dao.business.SettleClaimsMapper;
-import com.doumee.dao.business.model.SettleClaims;
+import com.doumee.dao.business.dto.SCSupplementDTO;
+import com.doumee.dao.business.join.SettleClaimsJoinMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.service.business.SettleClaimsLogService;
import com.doumee.service.business.SettleClaimsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -28,29 +40,223 @@
@Autowired
private SettleClaimsMapper settleClaimsMapper;
+ @Autowired
+ private SettleClaimsLogMapper settleClaimsLogMapper;
+
+ @Autowired
+ private MultifileMapper multifileMapper;
+
+ @Autowired
+ private SettleClaimsJoinMapper settleClaimsJoinMapper;
+
@Override
public Integer create(SettleClaims settleClaims) {
-// if(Objects.isNull(settleClaims)
-// || Objects.isNull()
-// ){
-//
-// }
-
-
-
-
-
-
-
-
-
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(Objects.isNull(settleClaims)
+ || Objects.isNull(settleClaims.getMemberId())
+ || Objects.isNull(settleClaims.getSolutionId())
+ || Objects.isNull(settleClaims.getDuId())
+ || Objects.isNull(settleClaims.getWorktypeId())
+ || Objects.isNull(settleClaims.getHappenTime())
+ || Objects.isNull(settleClaims.getType())
+ || Objects.isNull(settleClaims.getInHospital())
+ || Objects.isNull(settleClaims.getMedicalInsurance())
+ || Objects.isNull(settleClaims.getContent())
+ || Objects.isNull(settleClaims.getInformantName())
+ || Objects.isNull(settleClaims.getInformantPhone())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氬憳宸ユ棤娉曡繘琛岃鎿嶄綔");
+ }
+ //鏌ヨ鏄惁瀛樺湪宸叉彁鎶ョ殑鏁版嵁 鏍规嵁浜哄憳鍜屼繚闄╂柟妗堣繘琛岃繃婊� 鏄惁瀛樺湪杩涜涓殑鏁版嵁
+ if(settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getSolutionId,settleClaims.getSolutionId())
+ .eq(SettleClaims::getMemberId,loginUserInfo.getId())
+ .in(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey(),
+ Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鎻愭姤涓殑鎶ユ鏁版嵁!");
+ }
+ settleClaims.setCreateDate(new Date());
+ settleClaims.setIsdeleted(Constants.ZERO);
+ settleClaims.setCreator(loginUserInfo.getId());
+ settleClaims.setCheckUserId(loginUserInfo.getId());
settleClaimsMapper.insert(settleClaims);
-
-
+ List<Multifile> reportVideo = settleClaims.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())
+ ){
+ 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.ONE);
+ multifile.setSortnum(i+1);
+ multifileMapper.insert(multifile);
+ }
+ }
+ //璁板綍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null);
return settleClaims.getId();
}
+
+ public SettleClaims getSettleClaimsDetail(Integer id){
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectJoinOne(SettleClaims.class,new MPJLambdaWrapper<SettleClaims>()
+ .selectAll(SettleClaims.class)
+ .leftJoin(Member.class,Member::getId,SettleClaims::getMemberId)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,SettleClaims::getInsuranceApplyId)
+ .leftJoin(DispatchUnit.class,DispatchUnit::getId,SettleClaims::getDuId)
+
+ );
+
+
+ return settleClaims;
+ }
+
+
+
+ @Override
+ public Integer updateForCompany(SettleClaims settleClaims) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(Objects.isNull(settleClaims)
+ || Objects.isNull(settleClaims.getId())
+ || Objects.isNull(settleClaims.getMemberId())
+ || Objects.isNull(settleClaims.getSolutionId())
+ || Objects.isNull(settleClaims.getDuId())
+ || Objects.isNull(settleClaims.getWorktypeId())
+ || Objects.isNull(settleClaims.getType())
+ || Objects.isNull(settleClaims.getInHospital())
+ || Objects.isNull(settleClaims.getMedicalInsurance())
+ || Objects.isNull(settleClaims.getInformantName())
+ || Objects.isNull(settleClaims.getInformantPhone())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氬憳宸ユ棤娉曡繘琛岃鎿嶄綔");
+ }
+ SettleClaims oldSettleClaims = settleClaimsMapper.selectById(settleClaims.getId());
+ if(Objects.isNull(oldSettleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇敼鏁版嵁");
+ }
+ if(!oldSettleClaims.getSolutionId().equals(settleClaims.getSolutionId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳硶淇敼鏂规淇℃伅");
+ }
+ if(!(oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE)
+ || oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
+ }
+ oldSettleClaims.setEditor(loginUserInfo.getId());
+ oldSettleClaims.setEditDate(new Date());
+ oldSettleClaims.setDuId(settleClaims.getDuId());
+ oldSettleClaims.setWorktypeId(settleClaims.getWorktypeId());
+ oldSettleClaims.setInHospital(settleClaims.getInHospital());
+ oldSettleClaims.setMedicalInsurance(settleClaims.getMedicalInsurance());
+ oldSettleClaims.setAreaId(settleClaims.getAreaId());
+ oldSettleClaims.setAreaInfo(settleClaims.getAreaInfo());
+ oldSettleClaims.setType(settleClaims.getType());
+ oldSettleClaims.setInformantName(settleClaims.getInformantName());
+ oldSettleClaims.setInformantPhone(settleClaims.getInformantPhone());
+ oldSettleClaims.setCheckUserId(loginUserInfo.getId());
+ settleClaimsMapper.updateById(oldSettleClaims);
+ //璁板綍鏃ュ織
+ Constants.SettleClaimsLogType settleClaimsLogType = Constants.SettleClaimsLogType.UPDATE_DATA;
+ this.saveSettleClaimsLog(settleClaims,settleClaimsLogType,null);
+ return oldSettleClaims.getId();
+ }
+
+ @Override
+ public void supplement(SCSupplementDTO scSupplementDTO){
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(Objects.isNull(scSupplementDTO)
+ || Objects.isNull(scSupplementDTO.getId())
+ || Objects.isNull(scSupplementDTO.getSupplement())
+ || Objects.isNull(scSupplementDTO.getObjType())
+ || !(scSupplementDTO.getObjType().equals(Constants.ZERO))
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氬憳宸ユ棤娉曡繘琛岃鎿嶄綔");
+ }
+ SettleClaims settleClaims = settleClaimsMapper.selectById(scSupplementDTO.getId());
+ if(!(settleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE)
+ || settleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
+ }
+ settleClaims.setEditor(loginUserInfo.getId());
+ settleClaims.setEditDate(new Date());
+ settleClaims.setCheckUserId(loginUserInfo.getId());
+ settleClaims.setCheckInfo(scSupplementDTO.getSupplement());
+ settleClaimsMapper.updateById(settleClaims);
+
+ Constants.SettleClaimsLogType settleClaimsLogType = Constants.SettleClaimsLogType.SUPPLEMENT;
+ String content = settleClaimsLogType.getInfo().replace("${param}", scSupplementDTO.getSupplement());
+ this.saveSettleClaimsLog(settleClaims,settleClaimsLogType,content);
+ }
+
+
+
+
+ @Override
+ public void claimsUploadFile(SCSupplementDTO scSupplementDTO){
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(Objects.isNull(scSupplementDTO)
+ || Objects.isNull(scSupplementDTO.getId())
+ || Objects.isNull(scSupplementDTO.getSupplement())
+ || Objects.isNull(scSupplementDTO.getObjType())
+ || Objects.isNull(scSupplementDTO.getFileUrl())
+ || Objects.isNull(scSupplementDTO.getFileType())
+ || scSupplementDTO.getObjType().equals(Constants.ZERO)
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+
+ SettleClaims settleClaims = settleClaimsMapper.selectById(scSupplementDTO.getId());
+ if(!(settleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE)
+ || settleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
+ }
+
+ Multifile multifile = new Multifile();
+ if(loginUserInfo.getType().equals(Constants.ONE)){
+ multifile.setCompanyId(loginUserInfo.getCompanyId());
+ }
+ multifile.setCreator(loginUserInfo.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(scSupplementDTO.getId());
+ multifile.setName(scSupplementDTO.getFileUrl().substring(scSupplementDTO.getFileUrl().lastIndexOf("/") + 1));
+ multifile.setType(scSupplementDTO.getFileType());
+ multifileMapper.insert(multifile);
+ }
+
+
+
+
+ public void saveSettleClaimsLog(SettleClaims settleClaims, Constants.SettleClaimsLogType settleClaimsLogType, String content){
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ SettleClaimsLog settleClaimsLog = new SettleClaimsLog();
+ settleClaimsLog.setCreateDate(new Date());
+ settleClaimsLog.setCreator(loginUserInfo.getId());
+ settleClaimsLog.setIsdeleted(Constants.ZERO);
+ settleClaimsLog.setSettleClainmsId(settleClaims.getId());
+ settleClaimsLog.setTitle(settleClaimsLogType.getName());
+ settleClaimsLog.setContent(content);
+ settleClaimsLog.setObjType(settleClaimsLogType.getKey());
+ settleClaimsLog.setObjId(settleClaims.getId());
+ settleClaimsLogMapper.insert(settleClaimsLog);
+ }
+
@Override
public void deleteById(Integer id) {
settleClaimsMapper.deleteById(id);
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
index e4a5058..688db64 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -399,4 +399,5 @@
}
+
}
--
Gitblit v1.9.3