From deb3baf0fb04c3a9f5b0d4b5bd9fb3237908d576 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 19 二月 2024 18:38:12 +0800
Subject: [PATCH] 111
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 143 +++++++++++++------
server/company/src/main/java/com/doumee/api/system/SystemMenuController.java | 16 +
server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java | 2
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 48 ++++++
server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java | 2
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 2
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java | 81 +++++++++-
server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java | 6
server/company/src/main/resources/application.yml | 2
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 19 +-
server/company/src/main/java/com/doumee/api/business/SolutionsController.java | 17 ++
server/service/src/main/java/com/doumee/service/business/SolutionsService.java | 4
server/service/src/main/java/com/doumee/core/utils/Constants.java | 2
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 24 ++-
server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java | 6
server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java | 4
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java | 4
server/platform/src/main/resources/application.yml | 2
server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java | 3
19 files changed, 291 insertions(+), 96 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java b/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
index e5af4b1..f4f4e85 100644
--- a/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
+++ b/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
import com.doumee.dao.business.dto.DispatchUnitQueryDTO;
import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
import com.doumee.dao.business.model.DispatchUnit;
@@ -119,6 +120,7 @@
@PostMapping("/findListByDTO")
@RequiresPermissions("business:dispatchunit:query")
public ApiResponse<List<DispatchUnit>> findListByDTO (@RequestBody DispatchUnitQueryDTO dispatchUnitQueryDTO) {
+ dispatchUnitQueryDTO.setDataType(Constants.TWO);
return ApiResponse.success(dispatchUnitService.findByDTO(dispatchUnitQueryDTO));
}
diff --git a/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index ef55325..32543b5 100644
--- a/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -137,7 +137,7 @@
@ApiOperation("娴嬭瘯瀹為檯閲戦")
@GetMapping("/testFee")
- public ApiResponse testFee(@RequestParam Integer id) {
+ public ApiResponse testFee(Integer id) {
insuranceApplyService.updateApplyCurrentFee(id);
return ApiResponse.success(null);
}
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 b9d12c4..cccad8d 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
@@ -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.core.utils.Constants;
import com.doumee.dao.business.model.Solutions;
import com.doumee.service.business.SolutionsService;
import io.swagger.annotations.Api;
@@ -17,6 +18,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/**
* @author 姹熻箘韫�
@@ -85,10 +87,21 @@
@ApiOperation("鍒楄〃鏌ヨ")
@PostMapping("/list")
@RequiresPermissions("business:solutions:query")
- public ApiResponse<List<Solutions>> findList () {
- return ApiResponse.success(solutionsService.findListForCompany());
+ public ApiResponse<List<Solutions>> findList (Solutions solutions) {
+ Integer dateType = Constants.TWO;
+ if(!Objects.isNull(solutions)&&!Objects.isNull(solutions.getDataType())){
+ dateType = solutions.getDataType();
+ }
+ return ApiResponse.success(solutionsService.findListForCompany(dateType));
}
+ @ApiOperation("鏍规嵁鍘嗗彶鐗堟湰鏌ヨ褰撳墠鏈�鏂板惎鐢ㄧ増鏈�")
+ @GetMapping("/getNewVersion")
+ public ApiResponse<Solutions> getNewVersion (@RequestParam Integer solutionId) {
+ return ApiResponse.success(solutionsService.getNewVersion(solutionId));
+ }
+
+
// @ApiOperation("鍒楄〃鏌ヨ")
// @PostMapping("/page")
// public ApiResponse<List<Solutions>> findPage (@RequestBody Solutions solutions) {
diff --git a/server/company/src/main/java/com/doumee/api/system/SystemMenuController.java b/server/company/src/main/java/com/doumee/api/system/SystemMenuController.java
index 3461a1b..797483a 100644
--- a/server/company/src/main/java/com/doumee/api/system/SystemMenuController.java
+++ b/server/company/src/main/java/com/doumee/api/system/SystemMenuController.java
@@ -47,12 +47,20 @@
return ApiResponse.success(systemMenuBiz.findTree(loginUserInfo.getId(),loginUserInfo.getType()));
}
+// @ApiOperation("鏌ヨ鍒楄〃鏍�")
+// @PostMapping("/treeList")
+// @RequiresPermissions("system:menu:query")
+// public ApiResponse<List<SystemMenuListVO>> findTree () {
+// LoginUserInfo loginUserInfo = this.getLoginUser();
+// return ApiResponse.success(systemMenuBiz.findTreeByType(loginUserInfo.getType()));
+// }
+
+
@ApiOperation("鏌ヨ鍒楄〃鏍�")
- @PostMapping("/treeList")
+ @PostMapping("/treeList/{type}")
@RequiresPermissions("system:menu:query")
- public ApiResponse<List<SystemMenuListVO>> findTree () {
- LoginUserInfo loginUserInfo = this.getLoginUser();
- return ApiResponse.success(systemMenuBiz.findTreeByType(loginUserInfo.getType()));
+ public ApiResponse<List<SystemMenuListVO>> treeList (@PathVariable Integer type) {
+ return ApiResponse.success(systemMenuBiz.findTreeByType(type));
}
@PreventRepeat
diff --git a/server/company/src/main/resources/application.yml b/server/company/src/main/resources/application.yml
index 01d793b..83ded24 100644
--- a/server/company/src/main/resources/application.yml
+++ b/server/company/src/main/resources/application.yml
@@ -6,7 +6,7 @@
# env: production
server:
# port: 10022
- port: 10025
+ port: 10031
spring:
# application:git
diff --git a/server/platform/src/main/resources/application.yml b/server/platform/src/main/resources/application.yml
index 40a1f40..2d0245f 100644
--- a/server/platform/src/main/resources/application.yml
+++ b/server/platform/src/main/resources/application.yml
@@ -5,7 +5,7 @@
env: development
# env: production
server:
- port: 10023
+ port: 10030
spring:
# application:
diff --git a/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
index 107521a..7f6e0bb 100644
--- a/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
+++ b/server/service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
@@ -2,6 +2,7 @@
import cn.emay.sdk.core.dto.sms.response.SmsResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.system.SystemUserBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -41,6 +42,8 @@
@Autowired
private SmsEmailMapper smsEmailMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Autowired
private CompanyService companyService;
@Value("${debug_model}")
@@ -144,7 +147,8 @@
// 鐢熸垚瀵嗙爜鐩�
String salt = RandomStringUtils.randomAlphabetic(6);
// 鐢熸垚瀵嗙爜
- systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt));
+// systemUser.setPassword(Utils.Secure.encryptPassword(systemUser.getPassword(), salt));
+ systemUser.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.DEFAULT_PASSWORD).getCode(), salt));
systemUser.setSalt(salt);
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
systemUser.setType(loginUserInfo.getType());
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 ff6ca38..7996995 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
@@ -750,6 +750,7 @@
COMPANY_EDIT(10, "淇濆崟淇敼","鎻愪氦鎰忚锛�${param1}\n${param2}",0),
PLATFORM_CHECK_PASS(11, "鎶曚繚瀹℃牳閫氳繃","",0),
UPLOAD_AGAIN(26, "鍐嶆鎶曚繚","",0),
+ PALTFORM_EDIT_BD(22, "淇敼淇濆崟","淇敼鍘熷洜锛�${param}",0),
CA_PLATFORM_CHECK_PASS_NO(12, "閫�鍥炴姇淇�","鎻愪氦鎰忚锛�${param}",1),
@@ -762,7 +763,6 @@
CA_COMPANY_CLOSE(19, "鍏抽棴璁㈠崟","",1),
CA_PALTFORM_REFUSE_APPLY(20, "椹冲洖閫�鍥炵敵璇�","",1),
CA_PALTFORM_EDIT_PIDAN(21, "淇敼鎵瑰崟","淇敼鍘熷洜锛�${param}",1),
- PALTFORM_EDIT_BD(22, "淇敼淇濆崟","淇敼鍘熷洜锛�${param}",1),
CA_JIAJIAN_APPLY_SIGN(23, "鍔犲噺淇濈敵璇蜂紒涓氱绔�","",1),
CA_CHANGUNIT_APPLY_SIGN(24, "鎹㈠巶鐢宠浼佷笟绛剧珷","",1),
CA_UPLOAD_AGAIN(25, "鍐嶆鎶曚繚","",1),
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
index 1c7a4d1..4361576 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
@@ -61,7 +61,7 @@
private Date createTimeE;
@ApiModelProperty(value = "鐘舵�� 0寰呭鏍� 1骞冲彴閫�鍥炰繚鍗曪紙宸查��鍥烇級 2宸蹭笂浼犱唬绛剧敵璇疯〃寰呬紒涓氱绔狅紙寰呯缃诧級 3宸茬绔犲緟涓婁紶淇濋櫓鍗曪紙寰呭嚭鍗曪級 4淇濆崟鍑哄叿澶辫触閫�鍥烇紙宸查��鍥烇級 5宸蹭笂浼犱繚鍗曪紙淇濋殰涓級6浼佷笟鐢宠閫�鍥炰腑 7骞冲彴鍚屾剰閫�鍥烇紙宸查��鍥烇級 8浼佷笟鍏抽棴 锛堝凡鍏抽棴锛�", example = "1")
- private Integer status;
+ private String status;
@ApiModelProperty(value = "绫诲瀷 0鐩翠繚 1濮旀墭鎶曚繚")
private Integer type;
@@ -71,6 +71,7 @@
@ApiModelProperty(value = "鍗冲皢澶辨晥璁㈠崟锛�0=鍚︼紱1=鏄�")
private Integer loseEfficacy;
+
@ApiModelProperty(value = "鐘舵�� 0寰呭鏍� 1寰呭嚭鍗� 2淇濋殰涓� 3宸茶繃鏈� 4宸叉挙鍥� 5閫�鍥炵敵璇蜂腑 6宸插叧闂�", example = "1")
private Integer statusCollect;
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java
index 78a3799..3a76cfa 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java
@@ -3,6 +3,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.Date;
import java.util.List;
@Data
@@ -34,6 +35,9 @@
@ApiModelProperty(value = "淇濆崟涓婚敭涓嬫暟鎹�" , notes = "鍑忎繚鐢宠/鎹㈠巶鐢宠")
private Integer insuranceApplyId;
+ @ApiModelProperty(value = "鎵瑰崟鏃ユ湡" , notes = "鍑忎繚鐢宠/鎹㈠巶鐢宠")
+ private Date validTime ;
+
@ApiModelProperty(value = "浼佷笟涓婚敭")
private Integer companyId;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java b/server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java
index 3fca376..55a59c9 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java
@@ -67,8 +67,8 @@
@ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
- @ApiModelProperty(value = "鏂规缂栫爜锛堝叧鑱攕olutions锛�", example = "1")
- @ExcelColumn(name="鏂规缂栫爜锛堝叧鑱攕olutions锛�")
+ @ApiModelProperty(value = "鏂规缂栫爜锛堝叧鑱攕olutions锛� 鍩鸿〃鏁版嵁", example = "1")
+ @ExcelColumn(name="鏂规缂栫爜锛堝叧鑱攕olutions锛夊熀琛ㄦ暟鎹�")
private Integer solutionBaseId;
@ApiModelProperty(value = "鏄惁鍙姞淇� 0鍚� 1鏄�", example = "1")
@@ -86,6 +86,8 @@
@ApiModelProperty(value = "鏂规涓婚敭锛堝叧鑱攕olutions锛�", example = "1")
@ExcelColumn(name="鏂规涓婚敭锛堝叧鑱攕olutions锛�")
private Integer solutionId;
+
+
@ApiModelProperty(value = "鏂规瀵硅薄", example = "1")
@TableField(exist = false)
private Solutions solution;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java b/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
index e5965dc..21621f5 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -46,7 +46,6 @@
@ApiModelProperty(value = "鏇存柊鏃堕棿")
@ExcelColumn(name="鏇存柊鏃堕棿")
-
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
@@ -187,6 +186,9 @@
@TableField(exist = false)
private String statusInfo;
+ @ApiModelProperty(value = "鏈�鍚庝竴娆″姞鍑忎繚/鎹㈠巶鏃ユ湡")
+ @TableField(exist = false)
+ private Date lastChangeDate;
public TaxesInvoicingVO toTaxesInvoicingVO(){
diff --git a/server/service/src/main/java/com/doumee/service/business/SolutionsService.java b/server/service/src/main/java/com/doumee/service/business/SolutionsService.java
index 53bb2f5..3d6d0de 100644
--- a/server/service/src/main/java/com/doumee/service/business/SolutionsService.java
+++ b/server/service/src/main/java/com/doumee/service/business/SolutionsService.java
@@ -90,7 +90,9 @@
PageData<Solutions> findPageCom(PageWrap<Solutions> pageWrap);
- List<Solutions> findListForCompany();
+ List<Solutions> findListForCompany(Integer dataType);
+
+ Solutions getNewVersion(Integer solutionId);
/**
* 鏉′欢缁熻
*
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 939eb33..00a2029 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -290,63 +290,90 @@
if(detailList ==null || detailList.size()==0){
return;
}
+ //瀹為檯鎵瑰崟鐢熸晥鏃ユ湡
+ Date applyStartTime = DateUtil.getMontageDate(update.getApplyStartTime(),1);
for(ApplyChagneDetail detail : detailList){
//鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
.eq(ApplyDetail::getApplyId, update.getApplyId())
.eq(ApplyDetail::getMemberId, detail.getMemberId())
+ .le(ApplyDetail::getStartTime,applyStartTime)
+ .ge(ApplyDetail::getEndTime,applyStartTime)
.orderByDesc(ApplyDetail::getCreateDate)
.last("limit 1"));
if(oldModel == null ){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+detail.getMemberName()+"銆戝師淇濆崟淇℃伅鏈夎锛屽綋鍓嶇敵璇蜂笉鏀寔鍑忎繚澶勭悊锛�");
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+detail.getMemberName()+"銆戝師淇濆崟淇℃伅鏈夎锛屾壒鍗曟棩鏈熸湭鍦ㄤ繚鍗曟棩鏈熷唴锛�");
}
Date endDate = oldModel.getEndTime();
- //褰撳墠鏃ユ湡澶т簬鎵瑰崟鏃ユ湡 闇�瑕佸洖婊氭暟鎹疄闄呮暟鎹�
- Boolean flag = DateUtil.getMontageDate(new Date(),2).compareTo(DateUtil.getMontageDate(update.getStartTime(),2))>0;
- //鎹㈠巶鍚庡巻鍙茶褰曠殑璐圭敤 fee
- Integer days = DateUtil.daysBetweenDates(DateUtil.getMontageDate(update.getStartTime(),2),DateUtil.getMontageDate(oldModel.getStartTime(),1)) + 1;
- BigDecimal oldFee = this.getApplyPrice(update.getApplyId(),days);
- BigDecimal fee = oldModel.getFee();
- BigDecimal oldCurrentFee = oldModel.getCurrentFee();
- applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda()
- .set(ApplyDetail::getEditor,update.getEditor())
- .set(ApplyDetail::getEditDate,update.getEditDate())
- .set(ApplyDetail::getEndTime,DateUtil.getMontageDate(update.getStartTime(),2))
- .set(ApplyDetail::getFee,oldFee)
- .set(flag,ApplyDetail::getCurrentFee,oldFee)
- .eq(ApplyDetail::getId,oldModel.getApplyId())
- );
- //淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
- memberInsuranceJoinMapper.update(null,new UpdateWrapper<MemberInsurance>().lambda()
- .set(MemberInsurance::getEndTime,update.getApplyStartTime())
- .set(MemberInsurance::getFee,oldFee)
- .eq(MemberInsurance::getRelationId,oldModel.getId())
- );
+ //濡傛灉瀹為檯鎵瑰崟鏃ユ湡 鍜� 鍘熻褰曟棩鏈熺浉绛� 鍒欑洿鎺ヤ慨鏀硅褰曟淳閬e崟浣嶄笌宸ョ淇℃伅
+ if(applyStartTime.compareTo(oldModel.getStartTime())!=Constants.ZERO){
+ //褰撳墠鏃ユ湡澶т簬鎵瑰崟鏃ユ湡 闇�瑕佸洖婊氭暟鎹疄闄呮暟鎹�
+ Boolean flag = DateUtil.getMontageDate(new Date(),2).compareTo(DateUtil.getMontageDate(update.getApplyStartTime(),2))>0;
+ //鎹㈠巶鍚庡巻鍙茶褰曠殑璐圭敤 fee
+ Integer days = DateUtil.daysBetweenDates(DateUtil.getMontageDate(update.getApplyStartTime(),3),DateUtil.getMontageDate(oldModel.getStartTime(),1))+1;
+ BigDecimal oldFee = this.getApplyPrice(update.getApplyId(),days);
+ BigDecimal fee = oldModel.getFee();
+ BigDecimal oldCurrentFee = oldModel.getCurrentFee();
- ApplyDetail applyDetail = new ApplyDetail();
- applyDetail.setApplyId(oldModel.getApplyId());
- applyDetail.setCreateDate(new Date());
- applyDetail.setCreator(update.getEditor());
- applyDetail.setMemberId(oldModel.getMemberId());
- applyDetail.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(),1));
- applyDetail.setEndTime(endDate);
- applyDetail.setDuId(detail.getDuId());
- applyDetail.setWorktypeId(detail.getWorktypeId());
- applyDetail.setIdcardNo(oldModel.getIdcardNo());
- applyDetail.setFee(fee.subtract(oldFee));
- if(flag){
- applyDetail.setCurrentFee(oldCurrentFee.multiply(oldFee));
+ applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda()
+ .set(ApplyDetail::getEditor,update.getEditor())
+ .set(ApplyDetail::getEditDate,update.getEditDate())
+ .set(ApplyDetail::getEndTime,DateUtil.getMontageDate(update.getApplyStartTime(),3))
+ .set(ApplyDetail::getFee,oldFee)
+ .set(flag,ApplyDetail::getCurrentFee,oldFee)
+ .eq(ApplyDetail::getId,oldModel.getId())
+ );
+
+ //淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
+ memberInsuranceJoinMapper.update(null,new UpdateWrapper<MemberInsurance>().lambda()
+ .set(MemberInsurance::getEndTime,update.getApplyStartTime())
+ .set(MemberInsurance::getFee,oldFee)
+ .eq(MemberInsurance::getRelationId,oldModel.getId())
+ );
+
+ ApplyDetail applyDetail = new ApplyDetail();
+ applyDetail.setApplyId(oldModel.getApplyId());
+ applyDetail.setCreateDate(new Date());
+ applyDetail.setCreator(update.getEditor());
+ applyDetail.setMemberId(oldModel.getMemberId());
+ applyDetail.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(),1));
+ applyDetail.setEndTime(endDate);
+ applyDetail.setDuId(detail.getDuId());
+ applyDetail.setWorktypeId(detail.getWorktypeId());
+ applyDetail.setIdcardNo(oldModel.getIdcardNo());
+ applyDetail.setFee(fee.subtract(oldFee));
+ if(flag){
+ applyDetail.setCurrentFee(oldCurrentFee.multiply(oldFee));
+ }else{
+ applyDetail.setCurrentFee(BigDecimal.ZERO);
+ }
+ applyDetail.setSex(oldModel.getSex());
+ applyDetail.setMemberName(oldModel.getMemberName());
+ applyDetail.setFromId(detail.getId());
+ applyDetailJoinMapper.insert(applyDetail);
+
+ MemberInsurance memberInsurance = new MemberInsurance(applyDetail,update.getId());
+ memberInsuranceJoinMapper.insert(memberInsurance);
}else{
- applyDetail.setCurrentFee(BigDecimal.ZERO);
- }
- applyDetail.setSex(oldModel.getSex());
- applyDetail.setMemberName(oldModel.getMemberName());
- applyDetail.setFromId(detail.getId());
- applyDetailJoinMapper.insert(applyDetail);
- MemberInsurance memberInsurance = new MemberInsurance(applyDetail,update.getId());
- memberInsuranceJoinMapper.insert(memberInsurance);
+ applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda()
+ .set(ApplyDetail::getEditor,update.getEditor())
+ .set(ApplyDetail::getEditDate,update.getEditDate())
+ .set(ApplyDetail::getDuId,detail.getDuId())
+ .set(ApplyDetail::getWorktypeId,detail.getWorktypeId())
+ .eq(ApplyDetail::getId,oldModel.getId())
+ );
+
+ //鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
+ memberInsuranceJoinMapper.update(null,new UpdateWrapper<MemberInsurance>().lambda()
+ .set(MemberInsurance::getDuId,detail.getDuId())
+ .set(MemberInsurance::getDuName,detail.getDuName())
+ .set(MemberInsurance::getWorktypeId,detail.getWorktypeId())
+ .set(MemberInsurance::getWorktypeName,detail.getWorkTypeName())
+ .eq(MemberInsurance::getRelationId,oldModel.getId())
+ );
+ }
Member member = memberMapper.selectById(detail.getMemberId());
if(Objects.isNull(member)){
@@ -423,7 +450,8 @@
add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
add.setFee(countCyclePriceVO_add.getCyclePrice());
- if (DateUtil.daysBetweenDates(DateUtil.getMontageDate(detail.getStartTime(), 2), new Date()) >= 0) {
+
+ if(new Date().compareTo(DateUtil.getMontageDate(detail.getStartTime(), 2))>=0){
Integer days = DateUtil.daysBetweenDates(DateUtil.getMontageDate(new Date(), 2), detail.getStartTime()) + 1;
//濡傛灉宸蹭骇鐢熻垂鐢紝璁$畻宸蹭骇鐢熻垂鐢�
add.setCurrentFee(this.getApplyPrice(update.getApplyId(), days));
@@ -619,7 +647,7 @@
}
CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda()
.eq(CompanySolution::getCompanyId,loginUserInfo.getCompanyId())
- .eq(CompanySolution::getSolutionBaseId,solutions.getId())
+ .eq(CompanySolution::getSolutionId,solutions.getId())
.eq(CompanySolution::getIsdeleted,Constants.ZERO)
.last(" limit 1 ")
);
@@ -631,6 +659,16 @@
&& DateUtil.compareDate( applyChange.getValidTime(),insuranceApply.getEndTime()) >= Constants.ZERO)) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鐢宠鏃ユ湡鏈浜庝繚鍗曟棩鏈熷唴锛屾棤娉曡繘琛岃鎿嶄綔");
}
+ //鏌ヨ淇濆崟涓嬫槸鍚﹀瓨鍦ㄨ繘琛屼腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁
+ if(applyChangeMapper.selectCount(new QueryWrapper<ApplyChange>().lambda()
+ .eq(ApplyChange::getApplyId,insuranceApply.getId())
+ .notIn(ApplyChange::getStatus,Constants.ApplyChangeStatus.APPROVE.getKey(),Constants.ApplyChangeStatus.CLOSE.getKey())
+
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀛樺湪杩涜涓殑鍔犲噺淇�/鎹㈠巶鐢宠");
+ };
+
+
applyChange.setCreateDate(new Date());
applyChange.setCreator(loginUserInfo.getId());
applyChange.setEditor(loginUserInfo.getId());
@@ -721,7 +759,14 @@
&& DateUtil.compareDate( applyChange.getValidTime(),insuranceApply.getEndTime()) >= Constants.ZERO)) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鐢宠鏃ユ湡鏈浜庝繚鍗曟棩鏈熷唴锛屾棤娉曡繘琛岃鎿嶄綔");
}
-
+ //鏌ヨ淇濆崟涓嬫槸鍚﹀瓨鍦ㄨ繘琛屼腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁
+ if(applyChangeMapper.selectCount(new QueryWrapper<ApplyChange>().lambda()
+ .eq(ApplyChange::getApplyId,insuranceApply.getId())
+ .ne(ApplyChange::getId,applyChange.getId())
+ .notIn(ApplyChange::getStatus,Constants.ApplyChangeStatus.APPROVE.getKey(),Constants.ApplyChangeStatus.CLOSE.getKey())
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀛樺湪杩涜涓殑鍔犲噺淇�/鎹㈠巶鐢宠");
+ };
applyChange.setEditDate(new Date());
applyChange.setEditor(loginUserInfo.getId());
applyChange.setApplyStartTime(applyChange.getValidTime());
@@ -732,7 +777,6 @@
BigDecimal fee = this.dealApplyChangeData(applyChange,insuranceApply,companySolution,solutions,loginUserInfo,BigDecimal.ZERO);
applyChange.setFee(fee);
applyChangeMapper.updateById(applyChange);
-
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_UPLOAD_AGAIN;
String info =applyLogType.getInfo();
@@ -1034,6 +1078,7 @@
new MPJLambdaWrapper<ApplyChagneDetail>()
.leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
.eq(ApplyChagneDetail::getMemberId, applyChagneDetail.getMemberId())
+ .eq(ApplyChange::getApplyId, applyChange.getApplyId())
.in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE)
) > Constants.ZERO) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄧ敵璇蜂腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁");
@@ -1060,6 +1105,10 @@
.collect(Collectors.toList()).size() <= Constants.ZERO) {
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
}
+ if(applyChagneDetail.getOldDuId().equals(applyChagneDetail.getDuId())
+ && applyChagneDetail.getOldWorktypeId().equals(applyChagneDetail.getWorktypeId())){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞崲鍘傛暟鎹浉鍚岋紒");
+ }
applyChagneDetail.setCreateDate(new Date());
applyChagneDetail.setCreator(loginUserInfo.getId());
applyChagneDetail.setIsdeleted(Constants.ZERO);
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 2a7bdce..8e5c03b 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -227,6 +227,51 @@
List<CompanySolution> list = new ArrayList<>();
int num =0;
for(CompanySolution s :company.getSolutionList()){
+ if(s.getSolutionBaseId() == null){
+ continue;
+ }
+ Solutions newVersion = solutionsMapper.selectOne(new QueryWrapper<Solutions>().lambda().eq(Solutions::getBaseId,s.getSolutionBaseId())
+ .eq(Solutions::getDataType,Constants.TWO).last("limit 1"));
+ if(Objects.isNull(newVersion)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇锋坊鍔犳湁鏁堢殑淇濋櫓鏂规淇℃伅锛�");
+ }
+ sIds.add(s.getSolutionBaseId());
+ s.setCompanyId(company.getId());
+ s.setIsdeleted(Constants.ZERO);
+ s.setCanAdd(Constants.formatIntegerNum(s.getCanAdd()));
+ s.setCanReduce(Constants.formatIntegerNum(s.getCanReduce()));
+ s.setCreateDate(company.getCreateDate());
+ s.setCreator(company.getCreator());
+ s.setSortnum(num++);
+ s.setSolutionBaseId( s.getSolutionBaseId() );
+ s.setSolutionId( newVersion.getId() );
+ s.setStatus(Constants.ZERO);
+ list.add(s);
+ }
+ if(list.size() ==0){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇锋坊鍔犳湁鏁堢殑淇濋櫓鏂规淇℃伅锛�");
+ }
+ List<Solutions> solutionsList = solutionsMapper.selectList(new QueryWrapper<Solutions>().lambda()
+ .in(Solutions::getId,sIds)
+ .eq(Solutions::getIsdeleted,Constants.ZERO));
+ if(solutionsList.size()!= list.size()){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇锋坊鍔犳湁鏁堢殑淇濋櫓鏂规淇℃伅鍝�");
+ }
+ for(Solutions s:solutionsList){
+ if(Constants.equalsInteger(s.getStatus(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"淇濋櫓鏂规銆�"+s.getName()+"銆戝凡琚鐢紝涓嶈兘杩涜璇ユ搷浣�");
+ }
+ }
+ companySolutionJoinMapper.insertBatchSomeColumn(list);
+ }
+
+
+
+ /* private void dealSolutionsData(Company company) {
+ List<Integer> sIds = new ArrayList<>();
+ List<CompanySolution> list = new ArrayList<>();
+ int num =0;
+ for(CompanySolution s :company.getSolutionList()){
if(s.getSolution() == null || s.getSolution().getBaseId() == null ||s.getSolution().getId()==null){
continue;
}
@@ -258,8 +303,7 @@
}
}
companySolutionJoinMapper.insertBatchSomeColumn(list);
- }
-
+ }*/
private void isValidCreateParam(Company company) {
if(StringUtils.isBlank(company.getPhone())
||StringUtils.isBlank(company.getName())
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index 1790a06..1a722e1 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -816,6 +816,8 @@
Constants.InsuranceApplyStatus insuranceApplyStatus = Constants.InsuranceApplyStatus.UPLOAD;
insuranceApply.setCreateDate(new Date());
insuranceApply.setCreator(loginUserInfo.getId());
+ insuranceApply.setEditor(loginUserInfo.getId());
+ insuranceApply.setEditDate(new Date());
insuranceApply.setIsdeleted(Constants.ZERO);
insuranceApply.setCompanyId(loginUserInfo.getCompanyId());
insuranceApply.setCheckInfo(insuranceApplyStatus.getName());
@@ -1045,6 +1047,7 @@
applyDetail.setIdcardNo(member.getIdcardNo());
applyDetail.setSex(member.getSex());
applyDetail.setFee(countCyclePriceVO.getCyclePrice());
+ applyDetail.setCurrentFee(BigDecimal.ZERO);
//楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪
if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
@@ -1120,7 +1123,7 @@
queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays ");
- queryWrapper.select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum");
+ queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum");
if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){
queryWrapper.select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney");
queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast ");
@@ -1154,19 +1157,19 @@
queryWrapper.ge(InsuranceApply::getEndTime, Utils.Date.getStart(pageWrap.getModel().getEndTimeS()));
}
if (pageWrap.getModel().getEndTimeE() != null) {
- queryWrapper.le(InsuranceApply::getEndTime, Utils.Date.getEnd(pageWrap.getModel().getEndTimeE()));
+ queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getEnd(pageWrap.getModel().getEndTimeE()));
}
if (pageWrap.getModel().getStartTimeS() != null) {
queryWrapper.ge(InsuranceApply::getStartTime, Utils.Date.getStart(pageWrap.getModel().getStartTimeS()));
}
if (pageWrap.getModel().getStartTimeE() != null) {
- queryWrapper.le(InsuranceApply::getStartTime, Utils.Date.getEnd(pageWrap.getModel().getStartTimeE()));
+ queryWrapper.lt(InsuranceApply::getStartTime, Utils.Date.getEnd(pageWrap.getModel().getStartTimeE()));
}
if (pageWrap.getModel().getCreateTimeS() != null) {
queryWrapper.ge(InsuranceApply::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateTimeS()));
}
if (pageWrap.getModel().getCreateTimeE() != null) {
- queryWrapper.le(InsuranceApply::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateTimeE()));
+ queryWrapper.lt(InsuranceApply::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateTimeE()));
}
if (pageWrap.getModel().getType() != null) {
queryWrapper.eq(Solutions::getType, pageWrap.getModel().getType());
@@ -1175,7 +1178,7 @@
queryWrapper.eq(InsuranceApply::getCode, pageWrap.getModel().getCode());
}
if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.eq(InsuranceApply::getStatus, pageWrap.getModel().getStatus());
+ queryWrapper.in(InsuranceApply::getStatus, pageWrap.getModel().getStatus().split(","));
}
if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -1200,7 +1203,7 @@
public void initApplyStatus(InsuranceApply apply){
apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
- if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
+ if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
//濡傛灉宸插畬鎴�
if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
apply.setStatusCollect(Constants.THREE);//宸茶繃鏈�
@@ -1261,7 +1264,7 @@
queryWrapper.eq(InsuranceApply::getCode, model.getCode());
}
if (model.getStatus() != null) {
- queryWrapper.eq(InsuranceApply::getStatus, model.getStatus());
+ queryWrapper.in(InsuranceApply::getStatus, model.getStatus().split(","));
}
if (CollectionUtils.isNotEmpty(model.getIds())) {
queryWrapper.in(InsuranceApply::getId, model.getIds());
@@ -1286,7 +1289,8 @@
.selectAll(InsuranceApply.class)
.selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
.selectAs(Company::getName,InsuranceApply::getCompanyName)
- .select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum")
+ .select(" ( select max(ac.APPLY_START_TIME) from apply_change ac where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate")
+ .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum")
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
.eq(InsuranceApply::getId,id)
@@ -1309,6 +1313,7 @@
.selectAll(ApplyLog.class)
.selectAs(SystemUser::getRealname,ApplyLog::getCreatorName)
.selectAs(Company::getName,ApplyLog::getCompanyName)
+ .selectAs(SystemUser::getType,ApplyLog::getCreatorType)
.leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator)
.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
.in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.ZERO))
@@ -1415,8 +1420,7 @@
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public void applyOpt(InsuranceApplyOptDTO insuranceApplyOptDTO){
if(Objects.isNull(insuranceApplyOptDTO)
- ||Objects.isNull(insuranceApplyOptDTO.getApplyId())
- ||StringUtils.isBlank(insuranceApplyOptDTO.getOptIllustration())){
+ ||Objects.isNull(insuranceApplyOptDTO.getApplyId())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 68fe1ba..83bb114 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -211,14 +211,15 @@
.apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),"now() between t.start_time and t.end_time")
.apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),"now() > t.end_time")
;
-
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
+ queryWrapper.orderByAsc(DispatchUnit::getName);
+ queryWrapper.orderByAsc(Member::getName);
+// for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+// if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+// queryWrapper.orderByDesc(sortData.getProperty());
+// } else {
+// queryWrapper.orderByAsc(sortData.getProperty());
+// }
+// }
PageData<Member> pageData = PageData.from(memberJoinMapper.selectJoinPage(page,Member.class, queryWrapper));
return pageData;
}
@@ -262,6 +263,8 @@
.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId)
.eq(Member::getIsdeleted, Constants.ZERO)
.eq(InsuranceApply::getId,memberQueryDTO.getInsuranceApplyId())
+ .le(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getStartTime,memberQueryDTO.getValidTime())
+ .ge(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getEndTime,memberQueryDTO.getValidTime())
.exists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId()),
" select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
" and ad.member_id = t.id ");
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 5a501ce..99e1cee 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
@@ -879,7 +879,7 @@
if (pageWrap.getModel().getInsuranceApplyId() != null) {
queryWrapper.eq(SettleClaims::getInsuranceApplyId, pageWrap.getModel().getInsuranceApplyId());
}
- queryWrapper.orderByAsc(SettleClaims::getCreateDate);
+ queryWrapper.orderByDesc(SettleClaims::getCreateDate);
/*for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
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 97467cd..75e4954 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
@@ -7,10 +7,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.InsuranceMapper;
-import com.doumee.dao.business.SolutionWorktypeMapper;
-import com.doumee.dao.business.SolutionsMapper;
-import com.doumee.dao.business.WorktypeMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.join.SolutionWorktypeJoinMapper;
import com.doumee.dao.business.join.SolutionsJoinMapper;
import com.doumee.dao.business.model.*;
@@ -26,6 +23,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
@@ -52,8 +50,13 @@
private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper;
@Autowired
private InsuranceMapper insuranceMapper;
+ @Autowired
+ private CompanySolutionMapper companySolutionMapper;
+ @Autowired
+ private DuSolutionMapper duSolutionMapper;
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public Integer create(Solutions solutions) {
LoginUserInfo user= (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
initCreateParam(solutions);//宸ョ鏁版嵁鏈夋晥鎬ф楠岋紝鍘婚櫎绌虹櫧琛屾暟鎹�
@@ -85,7 +88,7 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヤ繚闄╁叕鍙镐俊鎭笉瀛樺湪锛岃灏濊瘯鍒锋柊椤甸潰閲嶈瘯~" );
}
if( !Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヤ繚闄╁叕鍙稿凡琚紝璇峰皾璇曞埛鏂伴〉闈㈤噸璇晘" );
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヤ繚闄╁叕鍙稿凡琚鐢紝璇峰皾璇曞埛鏂伴〉闈㈤噸璇晘" );
}
List<Worktype> worktypeList = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda()
.eq(Worktype::getInsuranceId,solutions.getInsuranceId())
@@ -154,6 +157,7 @@
}
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public void updateById(Solutions solutions) {
LoginUserInfo user= (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
Solutions model = findById(solutions.getId());
@@ -168,6 +172,18 @@
solutions.setVersion(UUID.randomUUID().toString());
solutions.setEditDate(new Date());
solutionsMapper.updateById(solutions);
+
+ Solutions oldVersion = solutionsMapper.selectOne(new QueryWrapper<Solutions>()
+ .lambda()
+ .eq(Solutions::getBaseId,solutions.getId())
+ .eq(Solutions::getDataType,Constants.TWO)
+ .last("limit 1")
+ );
+
+
+ if(Objects.isNull(oldVersion)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍘嗗彶鐗堟湰鏁版嵁");
+ }
//濡傛灉淇敼锛屽垯浜х敓涓�涓柊鐨勫巻鍙茬増鏈� ~
Solutions newModel = new Solutions();
@@ -184,6 +200,8 @@
.lambda()
.eq(SolutionWorktype::getSolutionId,solutions.getId())
);
+
+
solutionsMapper.update(null,new UpdateWrapper<Solutions>()
.lambda()
.ne(Solutions::getId,newModel.getId())
@@ -194,6 +212,23 @@
);
//澶勭悊宸ョ淇℃伅锛屾柊澧炴渶鏂扮殑锛屽悓鏃朵骇鐢熷巻鍙茬増鏈�
dealWorkType(solutions,newModel,solutions.getWorktypeIdList(),false);
+
+ //鏇存柊company_solution 浣跨敤鏂扮増鏈殑鏁版嵁
+ companySolutionMapper.update(null,
+ new UpdateWrapper<CompanySolution>()
+ .lambda()
+ .eq(CompanySolution::getStatus,Constants.ZERO)
+ .set(CompanySolution::getSolutionId,newModel.getId())
+ .eq(CompanySolution::getSolutionBaseId,solutions.getId())
+ );
+ //鏇存柊 du_solution 浣跨敤鏂扮増鏈殑鏁版嵁
+ duSolutionMapper.update(null,
+ new UpdateWrapper<DuSolution>()
+ .lambda()
+ .eq(DuSolution::getIsdeleted, Constants.ZERO)
+ .eq(DuSolution::getStatus, Constants.ONE)
+ .set(DuSolution::getSolutionId,newModel.getId())
+ .eq(DuSolution::getSolutionId,oldVersion.getId()));
}
@Override
@@ -411,13 +446,14 @@
@Override
- public List<Solutions> findListForCompany() {
+ public List<Solutions> findListForCompany(Integer dataType) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
List<Solutions> solutionsList = solutionsJoinMapper.selectJoinList(Solutions.class,new MPJLambdaWrapper<Solutions>()
.selectAll(Solutions.class)
- .leftJoin(CompanySolution.class,CompanySolution::getSolutionBaseId,Solutions::getId)
+ .leftJoin(CompanySolution.class,CompanySolution::getSolutionId,Solutions::getId)
.eq(Solutions::getIsdeleted,Constants.ZERO)
- .eq(Solutions::getDataType,Constants.TWO)
+ .eq(Solutions::getStatus,Constants.ZERO)
+ .eq(Solutions::getDataType,dataType)
.eq(CompanySolution::getIsdeleted,Constants.ZERO)
.eq(CompanySolution::getCompanyId,user.getCompanyId())
.orderByAsc(Solutions::getSortnum)
@@ -425,10 +461,31 @@
return solutionsList;
}
-
-
-
-
+ /**
+ * 鏍规嵁鍘嗗彶鐗堟湰鏌ヨ褰撳墠鏈�鏂板惎鐢ㄧ増鏈�
+ * @param solutionId
+ * @return
+ */
+ @Override
+ public Solutions getNewVersion(Integer solutionId){
+ Solutions solutions = solutionsMapper.selectById(solutionId);
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍘嗗彶鏂规淇℃伅");
+ }
+ if(solutions.getDataType().equals(Constants.TWO)){
+ return solutions;
+ }
+ Solutions newVersion = solutionsMapper.selectOne(new QueryWrapper<Solutions>().lambda()
+ .eq(Solutions::getIsdeleted,Constants.ZERO)
+ .eq(Solutions::getDataType,Constants.TWO)
+ .eq(Solutions::getBaseId,solutions.getBaseId())
+ .last("limit 1")
+ );
+ if(Objects.isNull(newVersion)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈�鏂扮増鏈暟鎹�");
+ }
+ return newVersion;
+ }
@Override
--
Gitblit v1.9.3