ソースを参照

删除方法优化

user5 3 年 前
コミット
867387cb22
13 ファイル変更149 行追加85 行削除
  1. 4 2
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/controller/AccountantReimbursementBusinessTwoController.java
  2. 5 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/AccountantReimbursementBusinessTwoMapper.java
  3. 16 4
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/xml/AccountantReimbursementBusinessTwoMapper.xml
  4. 6 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/AccountantReimbursementBusinessTwoService.java
  5. 3 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementBusinessServiceImpl.java
  6. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementBusinessTwoServiceImpl.java
  7. 23 21
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementSysServiceImpl.java
  8. 26 21
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementUserServiceImpl.java
  9. 3 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementBusinessServiceImpl.java
  10. 11 6
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementSysServiceImpl.java
  11. 26 21
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementUserServiceImpl.java
  12. 4 2
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/WuHanReimbursementBusinessServiceImpl.java
  13. 10 6
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/WuHanReimbursementSysServiceImpl.java

+ 4 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/controller/AccountantReimbursementBusinessTwoController.java

@@ -2,6 +2,7 @@ package com.jeeplus.test.reimbursementAccountant.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
 import com.jeeplus.aop.logging.annotation.ApiLog;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.test.reimbursementAccountant.domain.dto.AccountantReimbursementBusinessTwoDTO;
@@ -37,8 +38,9 @@ public class AccountantReimbursementBusinessTwoController {
     @ApiLog("根据id物理删除")
     @RequestMapping("delById/{id}")
     @PreAuthorize("hasAuthority('accountant:reimbursementBusinessTwo:del')")
-    public ResponseEntity delById(@PathVariable("id")String id){
-        accountantReimbursementBusinessTwoService.delPhysicsById(id);
+    public ResponseEntity delById(@PathVariable("id")String ids){
+        String idArray[] =ids.split(",");
+        accountantReimbursementBusinessTwoService.deleteByList ( Lists.newArrayList (idArray) );
         return ResponseEntity.ok("删除成功!");
     }
 

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/AccountantReimbursementBusinessTwoMapper.java

@@ -25,6 +25,11 @@ public interface AccountantReimbursementBusinessTwoMapper extends BaseMapper<Acc
      * @param id
      */
     void delPhysicsById(@Param("id")String id);
+    /**
+     * 物理删除
+     * @param idList
+     */
+    void deleteByList(@Param("idList")List <String> idList);
 
     /**
      * 新增

+ 16 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/xml/AccountantReimbursementBusinessTwoMapper.xml

@@ -115,11 +115,23 @@
     </select>
 
 
-    <update id="delPhysicsById">
-        update zs_reimbursement_business_accountant_info
-        set del_flag = 1
+    <delete id="delPhysicsById">
+        delete from zs_reimbursement_business_accountant_info
         where id = #{id}
-    </update>
+    </delete>
+
+    <delete id="deleteByList">
+        delete from zs_reimbursement_business_accountant_info
+        <where>
+            <if test="idList != null and idList.size>0">
+                and id in
+                <foreach collection="idList" item="id" separator="," open="(" close=")">
+                    #{id}
+                </foreach>
+            </if>
+        </where>
+    </delete>
+
     <update id="modifyBindCode">
         update zs_reimbursement_business_accountant_info
         set

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/AccountantReimbursementBusinessTwoService.java

@@ -15,6 +15,12 @@ public interface AccountantReimbursementBusinessTwoService {
 
     void delPhysicsById(String id);
 
+    /**
+     * 根据发票id删除发票信息(逻辑删除)
+     * @param idList
+     */
+    void deleteByList(List <String> idList);
+
     void addData(AccountantReimbursementBusinessTwoDTO accountantReimbursementBusinessTwoDTO);
 
     List<AccountantReimbursementDTO> findSelectList();

+ 3 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementBusinessServiceImpl.java

@@ -268,7 +268,9 @@ public class AccountantReimbursementBusinessServiceImpl implements AccountantRei
     @Transactional(readOnly = false)
     public void delete(List<String> idList) {
         //删除发票信息
-        mapper.delete(idList);
+        if(idList.size()>0){
+            mapper.delete(idList);
+        }
     }
 
 

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementBusinessTwoServiceImpl.java

@@ -2,6 +2,7 @@ package com.jeeplus.test.reimbursementAccountant.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.test.reimbursementAccountant.domain.dto.AccountantReimbursementBusinessTwoDTO;
 import com.jeeplus.test.reimbursementAccountant.domain.dto.AccountantReimbursementDTO;
 import com.jeeplus.test.reimbursementAccountant.mapper.AccountantReimbursementBusinessTwoMapper;
@@ -11,7 +12,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 @Service
 @Transactional(readOnly = true)
@@ -36,6 +40,14 @@ public class AccountantReimbursementBusinessTwoServiceImpl implements Accountant
 
     @Transactional(readOnly = false)
     @Override
+    public void deleteByList(List <String> idList) {//删除发票信息
+        if(idList.size()>0){
+            accountantReimbursementBusinessTwoMapper.deleteByList(idList);
+        }
+    }
+
+    @Transactional(readOnly = false)
+    @Override
     public void addData(AccountantReimbursementBusinessTwoDTO accountantReimbursementBusinessTwoDTO) {
         accountantReimbursementBusinessTwoDTO.preInsert();
         accountantReimbursementBusinessTwoMapper.insertAccountantReimbursementBusiness(accountantReimbursementBusinessTwoDTO);

+ 23 - 21
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementSysServiceImpl.java

@@ -495,35 +495,37 @@ public class AccountantReimbursementSysServiceImpl implements AccountantReimburs
     @Override
     @Transactional(readOnly = false)
     public void removeBusinessByIds(List<String> idList) {
-        //删除业务信息
-        mapper.removeBusinessByIds(idList);
-        //删除发票信息
-        mapper.removeBusinessByParentIds(idList);
-
-        this.removeInvoiceByIds(idList);
-
+        if(idList.size()>0){
+            //删除业务信息
+            mapper.removeBusinessByIds(idList);
+            //删除发票信息
+            mapper.removeBusinessByParentIds(idList);
+            this.removeInvoiceByIds(idList);
+        }
     }
 
     @Override
     @Transactional(readOnly = false)
     public void removeInvoiceByIds(List<String> idList) {
         //删除发票信息
-        mapper.removeInvoiceByIds(idList);
-        Set<String> set = new HashSet<>();
-        //遍历发票id查询对应得业务信息下是否存在有效的发票信息,若不存在,则将对应的业务信息同时删除
-        for (String id : idList) {
-            //查询该发票信息下是否存在有效的同级数据信息
-            String businessId = mapper.getValidBusinessIdByInvoiceId(id);
-
-            if(StringUtils.isBlank(businessId)){
-                AccountantReimbursementDTO accountantReimbursementDTO = this.queryBusinessByInvoiceId(id);
-                if(null != accountantReimbursementDTO){
-                    set.add(accountantReimbursementDTO.getId());
+        if(idList.size()>0) {
+            mapper.removeInvoiceByIds(idList);
+            Set<String> set = new HashSet<>();
+            //遍历发票id查询对应得业务信息下是否存在有效的发票信息,若不存在,则将对应的业务信息同时删除
+            for (String id : idList) {
+                //查询该发票信息下是否存在有效的同级数据信息
+                String businessId = mapper.getValidBusinessIdByInvoiceId(id);
+
+                if (StringUtils.isBlank(businessId)) {
+                    AccountantReimbursementDTO accountantReimbursementDTO = this.queryBusinessByInvoiceId(id);
+                    if (null != accountantReimbursementDTO) {
+                        set.add(accountantReimbursementDTO.getId());
+                    }
                 }
             }
-        }
-        if (set.size()>0){
-            mapper.removeBusinessByIds(new ArrayList<>(set));
+            if (set.size() > 0) {
+                mapper.removeBusinessByIds(new ArrayList<>(set));
+            }
         }
     }
 

+ 26 - 21
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementUserServiceImpl.java

@@ -133,29 +133,34 @@ public class AccountantReimbursementUserServiceImpl implements AccountantReimbur
     @Override
     @Transactional(readOnly = false)
     public Map<String,Object> delete(List<String> idList) {
-        Map<String,Object> map = new HashMap<>();
-        List<String> userName = Lists.newArrayList();
-        //删除发票信息
-        //判断该人员该年度是否已经存在报销情况,如存在则不可以删除
-        //根据id集合查询人员信息
-        for (String id: idList) {
-            AccountantReimbursementUserDTO reimbursementUserDTO = mapper.queryById(id);
-            AccountantReimbursementBusinessDTO reimbursementBusiness = new AccountantReimbursementBusinessDTO();
-            reimbursementBusiness.setUserId(reimbursementUserDTO.getUserId());
-            reimbursementBusiness.setYear(reimbursementUserDTO.getYear());
-            List<AccountantReimbursementBusinessDTO> list = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
-            if(list.size()>0){
-                userName.add(reimbursementUserDTO.getUser().getName());
+        Map<String, Object> map = new HashMap<>();
+        if(idList.size()>0) {
+            List<String> userName = Lists.newArrayList();
+            //删除发票信息
+            //判断该人员该年度是否已经存在报销情况,如存在则不可以删除
+            //根据id集合查询人员信息
+            for (String id : idList) {
+                AccountantReimbursementUserDTO reimbursementUserDTO = mapper.queryById(id);
+                AccountantReimbursementBusinessDTO reimbursementBusiness = new AccountantReimbursementBusinessDTO();
+                reimbursementBusiness.setUserId(reimbursementUserDTO.getUserId());
+                reimbursementBusiness.setYear(reimbursementUserDTO.getYear());
+                List<AccountantReimbursementBusinessDTO> list = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
+                if (list.size() > 0) {
+                    userName.add(reimbursementUserDTO.getUser().getName());
+                }
+            }
+            if (userName.size() > 0) {
+                map.put("success", false);
+                String userNames = StringUtils.join(userName, "、");
+                map.put("message", "员工 " + userNames + " 存在已报销情况,本次删除失败");
+            } else {
+                mapper.delete(idList);
+                map.put("success", true);
+                map.put("message", "删除成功");
             }
-        }
-        if(userName.size()>0){
-            map.put("success",false);
-            String userNames = StringUtils.join(userName, "、");
-            map.put("message", "员工 " + userNames + " 存在已报销情况,本次删除失败");
         }else{
-            mapper.delete(idList);
-            map.put("success",true);
-            map.put("message", "删除成功");
+            map.put("success", false);
+            map.put("message", "没有需要删除的数据");
         }
         return map;
     }

+ 3 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementBusinessServiceImpl.java

@@ -414,7 +414,9 @@ public class ReimbursementBusinessServiceImpl implements ReimbursementBusinessSe
     @Override
     public void delete(List<String> idList) {
         //删除发票信息
-        mapper.delete(idList);
+        if(idList.size()>0){
+            mapper.delete(idList);
+        }
     }
 
 

+ 11 - 6
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementSysServiceImpl.java

@@ -451,17 +451,22 @@ public class ReimbursementSysServiceImpl implements ReimbursementSysService {
 
     @Override
     public void removeBusinessByIds(List<String> idList) {
-        //删除业务信息
-        mapper.removeBusinessByIds(idList);
-        //删除发票信息
-        mapper.removeBusinessByParentIds(idList);
+        if(idList.size()>0) {
+            //删除业务信息
+            mapper.removeBusinessByIds(idList);
+            //删除发票信息
+            mapper.removeBusinessByParentIds(idList);
+        }
 
     }
 
     @Override
     public void removeInvoiceByIds(List<String> idList) {
-        //删除发票信息
-        mapper.removeInvoiceByIds(idList);
+
+        if(idList.size()>0) {
+            //删除发票信息
+            mapper.removeInvoiceByIds(idList);
+        }
     }
 
     @Override

+ 26 - 21
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementUserServiceImpl.java

@@ -127,29 +127,34 @@ public class ReimbursementUserServiceImpl implements ReimbursementUserService {
 
     @Override
     public Map<String,Object> delete(List<String> idList) {
-        Map<String,Object> map = new HashMap<>();
-        List<String> userName = Lists.newArrayList();
-        //删除发票信息
-        //判断该人员该年度是否已经存在报销情况,如存在则不可以删除
-        //根据id集合查询人员信息
-        for (String id: idList) {
-            ReimbursementUserDTO reimbursementUserDTO = mapper.queryById(id);
-            ReimbursementBusinessDTO reimbursementBusiness = new ReimbursementBusinessDTO();
-            reimbursementBusiness.setUserId(reimbursementUserDTO.getUserId());
-            reimbursementBusiness.setYear(reimbursementUserDTO.getYear());
-            List<ReimbursementBusinessDTO> list = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
-            if(list.size()>0){
-                userName.add(reimbursementUserDTO.getUser().getName());
+        Map<String, Object> map = new HashMap<>();
+        if(idList.size()>0) {
+            List<String> userName = Lists.newArrayList();
+            //删除发票信息
+            //判断该人员该年度是否已经存在报销情况,如存在则不可以删除
+            //根据id集合查询人员信息
+            for (String id : idList) {
+                ReimbursementUserDTO reimbursementUserDTO = mapper.queryById(id);
+                ReimbursementBusinessDTO reimbursementBusiness = new ReimbursementBusinessDTO();
+                reimbursementBusiness.setUserId(reimbursementUserDTO.getUserId());
+                reimbursementBusiness.setYear(reimbursementUserDTO.getYear());
+                List<ReimbursementBusinessDTO> list = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
+                if (list.size() > 0) {
+                    userName.add(reimbursementUserDTO.getUser().getName());
+                }
+            }
+            if (userName.size() > 0) {
+                map.put("success", false);
+                String userNames = StringUtils.join(userName, "、");
+                map.put("message", "员工 " + userNames + " 存在已报销情况,本次删除失败");
+            } else {
+                mapper.delete(idList);
+                map.put("success", true);
+                map.put("message", "删除成功");
             }
-        }
-        if(userName.size()>0){
-            map.put("success",false);
-            String userNames = StringUtils.join(userName, "、");
-            map.put("message", "员工 " + userNames + " 存在已报销情况,本次删除失败");
         }else{
-            mapper.delete(idList);
-            map.put("success",true);
-            map.put("message", "删除成功");
+            map.put("success", false);
+            map.put("message", "没有需要删除的信息");
         }
         return map;
     }

+ 4 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/WuHanReimbursementBusinessServiceImpl.java

@@ -413,8 +413,10 @@ public class WuHanReimbursementBusinessServiceImpl implements WuHanReimbursement
 
     @Override
     public void delete(List<String> idList) {
-        //删除发票信息
-        mapper.delete(idList);
+        if(idList.size()>0) {
+            //删除发票信息
+            mapper.delete(idList);
+        }
     }
 
 

+ 10 - 6
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/WuHanReimbursementSysServiceImpl.java

@@ -451,17 +451,21 @@ public class WuHanReimbursementSysServiceImpl implements WuHanReimbursementSysSe
 
     @Override
     public void removeBusinessByIds(List<String> idList) {
-        //删除业务信息
-        mapper.removeBusinessByIds(idList);
-        //删除发票信息
-        mapper.removeBusinessByParentIds(idList);
+        if(idList.size()>0) {
+            //删除业务信息
+            mapper.removeBusinessByIds(idList);
+            //删除发票信息
+            mapper.removeBusinessByParentIds(idList);
+        }
 
     }
 
     @Override
     public void removeInvoiceByIds(List<String> idList) {
-        //删除发票信息
-        mapper.removeInvoiceByIds(idList);
+        if(idList.size()>0) {
+            //删除发票信息
+            mapper.removeInvoiceByIds(idList);
+        }
     }
 
     @Override