From 931e45f5f78494c7af4cab75053da49b57f22fbe Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 13 十月 2025 14:31:43 +0800
Subject: [PATCH] 定时自动叫号 与 WMS获取车辆是否在园接口开发
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java | 133 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 121 insertions(+), 12 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 1271993..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,28 +2,33 @@
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.model.ApproveTempl;
-import com.doumee.dao.business.model.CarDriver;
+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;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
/**
* 瀹℃壒妯$増淇℃伅琛⊿ervice瀹炵幇
@@ -36,7 +41,85 @@
@Autowired
private ApproveTemplMapper approveTemplMapper;
@Autowired
- private MemberMapper memberMapper;
+ private ApproveParamMapper approveParamMapper;
+ @Autowired
+ private MemberJoinMapper memberJoinMapper;
+ @Autowired
+ private PlatformReasonMapper platformReasonMapper;
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public int save(ApproveTempl model) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo == null){
+ loginUserInfo = model.getLoginUserInfo();
+ }
+ 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){
+ //濡傛灉妯$増娌℃湁锛屽垯鏂板
+ template = new ApproveTempl();
+ template.setType(model.getType());
+ template.setCreateDate(date);
+ template.setCreator(loginUserInfo.getId());
+ template.setEditDate(date);
+ template.setIsdeleted(Constants.ZERO);
+ template.setEditor(loginUserInfo.getId());
+ 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(Objects.isNull(param.getApproveType())?Constants.TWO:param.getApproveType());
+ level ++ ;
+ }
+ //鍏堟竻闄ゅ師鏉ユ墍鏈夌殑灏遍櫔閰嶇疆
+ approveParamMapper.delete(new UpdateWrapper<ApproveParam>().lambda()
+ .eq(ApproveParam::getTemplId,template.getId()));
+ //鎵归噺鎻掑叆鏂扮殑閰嶇疆
+ approveParamMapper.insert(model.getParamList());
+ }
+ 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
public Integer create(ApproveTempl model) {
@@ -45,8 +128,13 @@
}
@Override
- public void deleteById(Integer id) {
- approveTemplMapper.deleteById(id);
+ public void deleteById(Integer id, LoginUserInfo userInfo) {
+ ApproveTempl model = new ApproveTempl();
+ model.setEditDate(new Date());
+ model.setEditor(userInfo.getId());
+ model.setId(id);
+ model.setIsdeleted(Constants.ONE);
+ approveTemplMapper.updateById(model);
}
@Override
@@ -56,11 +144,13 @@
}
@Override
- public void deleteByIdInBatch(List<Integer> ids) {
+ public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
if (CollectionUtils.isEmpty(ids)) {
return;
}
- approveTemplMapper.deleteBatchIds(ids);
+ for(Integer id:ids){
+ deleteById(id,user);
+ }
}
@Override
@@ -86,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