From bf8d85d5f83c2036fb4239d764d33e99c1b62bd3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 31 五月 2024 14:53:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java |   72 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 7 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..b940e2e 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
@@ -7,11 +7,10 @@
 import com.doumee.core.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.model.Member;
+import com.doumee.dao.business.model.*;
 import com.doumee.service.business.ApproveTemplService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -20,6 +19,7 @@
 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;
@@ -36,7 +36,58 @@
     @Autowired
     private ApproveTemplMapper approveTemplMapper;
     @Autowired
+    private ApproveParamMapper approveParamMapper;
+    @Autowired
     private MemberMapper memberMapper;
+
+    @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);
+        }
+        ApproveTempl template = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda()
+                .eq(ApproveTempl::getType,model.getType() )
+                .eq(ApproveTempl::getIsdeleted,Constants.ZERO)
+                .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);
+        }
+        if(model.getParamList()!=null && model.getParamList().size()>0){
+            for(ApproveParam param : model.getParamList()){
+                param.setCreateDate(date);
+                param.setCreator(loginUserInfo.getId());
+                param.setEditDate(date);
+                param.setEditor(loginUserInfo.getId());
+                param.setIsdeleted(Constants.ZERO);
+                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()));
+            }
+            //鍏堟竻闄ゅ師鏉ユ墍鏈夌殑灏遍櫔閰嶇疆
+            approveParamMapper.delete(new UpdateWrapper<ApproveParam>().lambda()
+                    .eq(ApproveParam::getTemplId,template.getId()));
+            //鎵归噺鎻掑叆鏂扮殑閰嶇疆
+            approveParamMapper.insertBatchSomeColumn(model.getParamList());
+        }
+        return model.getId();
+    }
 
     @Override
     public Integer create(ApproveTempl model) {
@@ -45,8 +96,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 +112,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

--
Gitblit v1.9.3