From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期四, 11 九月 2025 18:43:14 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java | 69 ++++++++++++++++++++++++++++++---- 1 files changed, 60 insertions(+), 9 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java index b940e2e..041f4ed 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java @@ -2,20 +2,24 @@ 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.service.business.third.model.LoginUserInfo; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.ApproveParamMapper; import com.doumee.dao.business.ApproveTemplMapper; -import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.PlatformReasonMapper; +import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.model.Member; import com.doumee.service.business.ApproveTemplService; 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.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,6 +28,7 @@ import java.util.Date; import java.util.List; +import java.util.Objects; /** * 瀹℃壒妯$増淇℃伅琛⊿ervice瀹炵幇 @@ -38,7 +43,9 @@ @Autowired private ApproveParamMapper approveParamMapper; @Autowired - private MemberMapper memberMapper; + private MemberJoinMapper memberJoinMapper; + @Autowired + private PlatformReasonMapper platformReasonMapper; @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) @@ -50,9 +57,21 @@ if(model.getType() == null || Constants.ApproveTmplType.getName(model.getType()) == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } + PlatformReason reason = null; + if(Constants.equalsInteger(model.getType(),Constants.ApproveTmplType.PLATFROM_REASON.getKey())){ + if(model.getReasonId() ==null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + reason = platformReasonMapper.selectById(model.getReasonId()); + if(reason ==null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍏ュ洯鍘熷洜淇℃伅涓嶅瓨鍦紝璇疯繑鍥炲埛鏂伴〉闈㈤噸璇曪紒"); + } + } ApproveTempl template = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda() .eq(ApproveTempl::getType,model.getType() ) .eq(ApproveTempl::getIsdeleted,Constants.ZERO) + //濡傛灉鏄叆鍥師鍥犻厤缃紝鏍规嵁ID鏌ヨ瀵瑰簲鐨勬ā鐗堜俊鎭� + .eq(Constants.equalsInteger(model.getType(),Constants.ApproveTmplType.PLATFROM_REASON.getKey()),ApproveTempl::getId,model.getReasonId()) .last("limit 1")); Date date =new Date(); if(template == null){ @@ -67,26 +86,39 @@ template.setName(Constants.ApproveTmplType.getName(model.getType())); approveTemplMapper.insert(template); } + int level = 0; if(model.getParamList()!=null && model.getParamList().size()>0){ for(ApproveParam param : model.getParamList()){ param.setCreateDate(date); + param.setId(null); param.setCreator(loginUserInfo.getId()); param.setEditDate(date); param.setEditor(loginUserInfo.getId()); param.setIsdeleted(Constants.ZERO); +// param.setLevel(level); + param.setMemberType(Constants.formatIntegerNum(param.getMemberType())); param.setTemplId(template.getId()); param.setType(Constants.formatIntegerNum(param.getType())); param.setAddrParam(Constants.formatIntegerNum(param.getAddrParam())); param.setDriverParam(Constants.formatIntegerNum(param.getDriverParam())); - param.setApproveType(Constants.formatIntegerNum(param.getApproveType())); + param.setApproveType(Objects.isNull(param.getApproveType())?Constants.TWO:param.getApproveType()); + level ++ ; } //鍏堟竻闄ゅ師鏉ユ墍鏈夌殑灏遍櫔閰嶇疆 approveParamMapper.delete(new UpdateWrapper<ApproveParam>().lambda() .eq(ApproveParam::getTemplId,template.getId())); //鎵归噺鎻掑叆鏂扮殑閰嶇疆 - approveParamMapper.insertBatchSomeColumn(model.getParamList()); + approveParamMapper.insert(model.getParamList()); } - return model.getId(); + if(Constants.equalsInteger(model.getType(),Constants.ApproveTmplType.PLATFROM_REASON.getKey())){ + PlatformReason r = new PlatformReason(); + r.setApproveTemplId(template.getId()); + r.setId(model.getReasonId()); + r.setEditor(template.getEditor()); + r.setEditDate(new Date()); + platformReasonMapper.updateById(r); + } + return 1; } @Override @@ -144,7 +176,26 @@ @Override public ApproveTempl findOne(ApproveTempl approveTempl) { QueryWrapper<ApproveTempl> wrapper = new QueryWrapper<>(approveTempl); - return approveTemplMapper.selectOne(wrapper); + ApproveTempl model = approveTemplMapper.selectOne(wrapper.lambda().last("limit 1")); + if(model!=null){ + List<ApproveParam> approveParamList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>() + .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO) + .eq(ApproveParam::getTemplId,model.getId()) + .orderByAsc(ApproveParam::getLevel) + ); + for (ApproveParam approveParam :approveParamList) { + if(StringUtils.isNotBlank(approveParam.getObjIds())){ + approveParam.setMemberList(memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class) + .selectAs(Company::getName,Member::getCompanyName) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .eq(Member::getIsdeleted,Constants.ZERO) + .in(Member::getId,approveParam.getObjIds().split(",")))); + } + } + model.setParamList(approveParamList); + } + return model; } @Override -- Gitblit v1.9.3