From b01e956a0dab1290cd7f892d9cbc481189fbefaf Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 29 三月 2024 08:55:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0.1' into 1.0.1
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 134 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 126 insertions(+), 8 deletions(-)
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 2c1cacf..33dbed9 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
@@ -664,7 +664,6 @@
);
update.setFee(totalFee);
-
}
}
@@ -1385,6 +1384,8 @@
@Override
public PageData<ApplyChange> findPage(PageWrap<ApplyChange> pageWrap) {
+
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
IPage<ApplyChange> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
@@ -1392,6 +1393,7 @@
queryWrapper
.selectAll(ApplyChange.class)
.selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+ .selectAs( Solutions::getType,InsuranceApply::getSolutionType)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
@@ -1403,10 +1405,22 @@
.in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,
Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
+ .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
.eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
.eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
.ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
.le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" );
+ if(loginUserInfo.getType().equals(Constants.TWO)){
+ //濡傛灉鏄晢鎴锋煡鐪�
+ if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==0){
+ queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+ }else if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==1){
+ queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+ }else{
+ queryWrapper.apply("((t1.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+ "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+ }
+ }
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -1437,10 +1451,11 @@
.selectAll(ApplyChange.class)
.selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
.selectAs(Solutions::getName,ApplyChange::getSolutionsName)
+ .selectAs(Solutions::getType,ApplyChange::getSolutionType)
.selectAs(Company::getName,ApplyChange::getCompanyName)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum)
- .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
+ .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
.select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID )",ApplyChange::getChangeMoney)
.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
@@ -1452,14 +1467,27 @@
Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
// .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
// .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
+ .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
.eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
.eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
.ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
- .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" );
+ .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" )
+ .ge(StringUtils.isNotBlank(model.getApplyStartS()),ApplyChange::getApplyStartTime, model.getApplyStartS()+" 00:00:00" )
+ .le(StringUtils.isNotBlank(model.getApplyStartE()),ApplyChange::getApplyStartTime, model.getApplyStartE()+" 23:59:59" );
LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
//浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
if(loginUserInfo.getType().equals(Constants.ONE)){
queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+ }else if(loginUserInfo.getType().equals(Constants.TWO)){
+ //濡傛灉鏄晢鎴锋煡鐪�
+ if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==0){
+ queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+ }else if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==1){
+ queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+ }else{
+ queryWrapper.apply("((t1.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+ "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+ }
}else{
if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList());
@@ -1608,6 +1636,7 @@
.selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime)
.selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime)
.selectAs(Solutions::getName,ApplyChange::getSolutionsName)
+ .selectAs(Solutions::getType,ApplyChange::getSolutionType)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
@@ -1633,7 +1662,7 @@
applyChange.setApplyLogList(applyLogList);
List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
- .eq(Multifile::getObjId,applyChange.getId())
+ .eq(Multifile::getObjId,Constants.equalsInteger(applyChange.getSolutionType(),Constants.ZERO)? applyChange.getId():applyChange.getUnionChangeId())
.in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey()
,Constants.MultiFile.CA_PD_PDF.getKey()
,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()}))
@@ -1725,9 +1754,9 @@
}
String fileUrl = null;
if(Constants.equalsObject(model.getType(), Constants.ONE)){
- fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�");
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","鎶曚繚浼佷笟");
}else{
- fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃");
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","鎶曚繚浼佷笟");
}
String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode();
notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString());
@@ -1745,8 +1774,6 @@
update.setEditDate(new Date());
update.setSignApplyNo(applyNo);
applyChangeMapper.updateById(update);
-
-
return link;
}
@@ -1904,4 +1931,95 @@
return sumPrice.divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP).multiply(new BigDecimal(optDays));
}
+ public ApplyChange queryApplyChangeData(Integer applyChangeId){
+ ApplyChange model = findDetail(applyChangeId);
+ if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(ApplyChagneDetail.class);
+ queryWrapper.select("t2.name",ApplyChagneDetail::getWorkTypeName);
+ queryWrapper.select("t3.name",ApplyChagneDetail::getDuName);
+ queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName);
+ queryWrapper.select("t5.name",ApplyChagneDetail::getOldDuName);
+ queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName);
+ queryWrapper.selectAs(Member::getSex,ApplyChagneDetail::getSex);
+ queryWrapper.selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo);
+ queryWrapper.leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId);
+ queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId);
+ queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId);
+ queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId);
+ queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getOldDuId);
+ queryWrapper.eq(ApplyChagneDetail::getApplyChangeId,applyChangeId);
+ List<ApplyChagneDetail> list = applyChangeDetailJoinMapper.selectJoinList(ApplyChagneDetail.class, queryWrapper);
+ for (ApplyChagneDetail applyChagneDetail:list) {
+ applyChagneDetail.setAge(Constants.getAgeByIdCard(applyChagneDetail.getMemberIdcardNo()));
+ }
+ if(CollectionUtils.isNotEmpty(list)){
+ model.setAddDetailList(list.stream().filter(m->m.getType().equals(Constants.ZERO)).collect(Collectors.toList()));
+ model.setDelDetailList(list.stream().filter(m->m.getType().equals(Constants.ONE)).collect(Collectors.toList()));
+ model.setChangeDetailList(list.stream().filter(m->m.getType().equals(Constants.TWO)).collect(Collectors.toList()));
+ }
+ return model;
+ }
+
+ /**
+ * 浜哄憳鍚嶅崟绛剧珷
+ */
+ @Override
+ public String getChangeMemberListOnlineSignLink(Integer applyChangeId) {
+ ApplyChange model = this.queryApplyChangeData(applyChangeId);
+ if(Objects.isNull(model)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠姞鍑忎繚淇℃伅");
+ }
+ if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.ZERO,model.getStatus())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔绛剧珷鎿嶄綔锛�");
+ }
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ Company company = user.getCompany();
+ if(debugModel){
+ company = companyMapper.selectById(model.getCompanyId());
+ }
+ if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁");
+ }
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionsId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
+ if(solutions.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝闈炲鎵樹繚鏂规淇濆崟锛屾棤娉曡繘琛岃鎿嶄綔!");
+ }
+ String fileUrl = null;
+ if(Constants.equalsObject(model.getType(), Constants.ONE)){
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","琚繚闄╀汉");
+ }else{
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","琚繚闄╀汉");
+ }
+ String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode();
+ notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString());
+ String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl);
+ if(StringUtils.isBlank(applyNo) ){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+ }
+ String link = signService.signLink(applyNo,company.getName(),company.getCode());
+ if(StringUtils.isBlank(link) ){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+ }
+ ApplyChange update= new ApplyChange();
+ update.setId(model.getId());
+ update.setEditor(user.getId());
+ update.setEditDate(new Date());
+ update.setSignMemberListNo(applyNo);
+ applyChangeMapper.updateById(update);
+ return link;
+ }
+
+
+
+
+
}
--
Gitblit v1.9.3