From 48eb5dc61ac07d232632b13d040006128ed5cceb Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 31 一月 2024 20:59:23 +0800 Subject: [PATCH] 开发业务接口 --- server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 83 +++++++++++++++++++++++++++++++---------- 1 files changed, 63 insertions(+), 20 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 25d9b37..c8e661a 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 @@ -31,14 +31,12 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -66,6 +64,8 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired + private CompanyMapper companyMapper; + @Autowired private SignService signService; @Autowired private ApplyChagneDetailJoinMapper applyChagneDetailJoinMapper; @@ -85,7 +85,8 @@ @Autowired private ApplyLogMapper applyLogMapper; - + @Value("${debug_model}") + private boolean debugModel; @Autowired private ApplyLogJoinMapper applyLogJoinMapper; @@ -263,7 +264,8 @@ .selectAs(Solutions::getTimeUnit,ApplyChagneDetail::getSolutionTimeUnit) .selectAs(Solutions::getPrice,ApplyChagneDetail::getSolutionPrice) .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId) - .leftJoin(Solutions.class, Solutions::getId, ApplyChange::getSolutionsId) + .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId) + .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId) .eq(ApplyChagneDetail::getApplyChangeId,update.getId()) .eq(ApplyChagneDetail::getIsdeleted,Constants.ZERO) ); if(detailList ==null || detailList.size()==0){ @@ -300,7 +302,8 @@ .selectAs(Solutions::getTimeUnit,ApplyChagneDetail::getSolutionTimeUnit) .selectAs(Solutions::getPrice,ApplyChagneDetail::getSolutionPrice) .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId) - .leftJoin(Solutions.class, Solutions::getId, ApplyChange::getSolutionsId) + .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId) + .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId) .eq(ApplyChagneDetail::getApplyChangeId,update.getId()) .eq(ApplyChagneDetail::getIsdeleted,Constants.ZERO) ); if(detailList ==null || detailList.size()==0){ @@ -327,7 +330,8 @@ add.setDuId(detail.getDuId()); add.setStartTime(update.getApplyStartTime()); add.setEndTime(detail.getEndTime()); - add.setFee(Constants.countDetailFee(detail.getSolutionTimeUnit(),detail.getSolutionPrice(), add.getStartTime(),add.getEndTime())); + add.setFee(new BigDecimal(0)); +// add.setFee(Constants.countDetailFee(detail.getSolutionTimeUnit(),detail.getSolutionPrice(), add.getStartTime(),add.getEndTime())); if(DateUtil.daysBetweenDates(add.getStartTime(),new Date() )>=0){ //濡傛灉宸蹭骇鐢熻垂鐢紝璁$畻宸蹭骇鐢熻垂鐢� add.setCurrentFee(Constants.countDetailFee(detail.getSolutionTimeUnit(),detail.getSolutionPrice(), add.getStartTime(),new Date())); @@ -350,7 +354,7 @@ BigDecimal updateCurrentFee = new BigDecimal(0); if(DateUtil.daysBetweenDates(update.getApplyStartTime(),new Date() )>0){ //濡傛灉鐢熸晥鏃堕棿 鏄粖澶╀箣鍓嶏紝閫�鍥炲凡浜х敓璐圭敤锛岃绠楀凡浜х敓璐圭敤(鎬昏垂鐢�-宸蹭骇鐢熻垂鐢�) - updateCurrentFee = updateFee.subtract(oldModel.getCurrentFee()); + updateCurrentFee = updateFee.subtract(Constants.formatBigdecimal(oldModel.getCurrentFee())); } applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda() .setSql(" fee = ifnull(fee,0)+"+updateFee) @@ -1099,10 +1103,12 @@ queryWrapper.selectAll(ApplyChange.class) .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode) .selectAs(Company::getName,ApplyChange::getCompanyName) + .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime) + .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime) + .selectAs(Solutions::getName,ApplyChange::getSolutionsName) .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 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) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) @@ -1114,6 +1120,7 @@ new MPJLambdaWrapper<ApplyLog>() .selectAll(ApplyLog.class) .selectAs(SystemUser::getRealname,ApplyLog::getCreatorName) + .selectAs(SystemUser::getType,ApplyLog::getCreatorType) .selectAs(Company::getName,ApplyLog::getCompanyName) .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator) .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) @@ -1121,6 +1128,33 @@ .orderByAsc(ApplyLog::getCreateDate) ); applyChange.setApplyLogList(applyLogList); + + List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId,applyChange.getId()) + .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()})) + .eq(Multifile::getIsdeleted,Constants.ZERO)); + if(multifiles!=null){ + String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); + for(Multifile f : multifiles){ + if(StringUtils.isBlank(f.getFileurl())){ + continue; + } + f.setFileurlFull(path+f.getFileurl()); + if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey())){ + //绛剧讲鍚庣敵璇峰崟 + applyChange.setApplyFile(f); + }else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey())){ + //绛剧讲鍚庣敵璇峰崟 + applyChange.setApplyUnitFile(f); + }else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.CA_PD_PDF.getKey())){ + //绛剧讲鍚庣殑鎶曚繚鍗� + applyChange.setPidanFile(f); + } + } + } return applyChange; } @@ -1132,7 +1166,7 @@ @Override public ApplyChange exportChangeUnitExcel(ApplyChange param){ ApplyChange model = findJoinDetail(param); - if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getType())){ + if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } @@ -1164,7 +1198,7 @@ } private String getOnlineSignLink(ApplyChange model) { - if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getType())){ + if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(!Constants.equalsInteger(Constants.ZERO,model.getStatus())){ @@ -1172,14 +1206,21 @@ } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Company company = user.getCompany(); - if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.ONE)){ + 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(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁"); } - - String fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"缂撳瓨鐢宠琛�"); + 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(),fileUrl,company.getName(),company.getCode(),company.getEmail(),null,company.getSignId(),notifyUrl); + 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(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�"); } @@ -1193,6 +1234,7 @@ update.setEditDate(new Date()); update.setSignApplyNo(applyNo); applyChangeMapper.updateById(update); + return link; } @@ -1206,7 +1248,7 @@ public ApplyChange exportJiajianBaoExcel(ApplyChange param){ ApplyChange model = findJoinDetail(param); - if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getType())){ + if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } @@ -1232,12 +1274,13 @@ .selectAll(ApplyChange.class) .selectAs(Solutions::getName,ApplyChange::getSolutionsName) .selectAs(Company::getName,ApplyChange::getCompanyName) + .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId) .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode) .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime) .selectAs(InsuranceApply::getStartTime,ApplyChange::getEndTime) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) - .leftJoin(Company.class,Company::getId,ApplyChange::getCompanyId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(ApplyChange::getId,param.getId()) .last("limit 1"); @@ -1249,7 +1292,7 @@ .selectAll(ApplyChagneDetail.class) .selectAs(Member::getName,ApplyChagneDetail::getMemberName) .selectAs(Member::getSex,ApplyChagneDetail::getSex) - .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo) + .selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo) .selectAs(Worktype::getName,ApplyChagneDetail::getWorkTypeName) .selectAs(DispatchUnit::getName,ApplyChagneDetail::getDuName) .leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId) @@ -1271,7 +1314,7 @@ .select("t3.name as oldWorktypeName") .select("t4.name as oldDuName") .selectAs(Member::getSex,ApplyChagneDetail::getSex) - .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo) + .selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo) .leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId) .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId) .leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId) -- Gitblit v1.9.3