Parcourir la source

将资金操作改为逻辑删除

y il y a 2 ans
Parent
commit
581109ecf3

+ 1 - 1
src/main/java/com/ydtech/modules/inv/controller/invAccountExcelController.java

@@ -34,7 +34,7 @@ public class invAccountExcelController {
         return invAccountExcelService.excelAccount(idList);
     }
 
-    @PostMapping("invert")
+    @PostMapping("insert")
     @ApiOperation("插入资金模板信息")
     public HttpResult invertAccount(@RequestBody InvAccountExcel invAccountExcel) {
         BaseController baseController = new BaseController();

+ 14 - 0
src/main/java/com/ydtech/modules/inv/model/InvAccountOperate.java

@@ -169,6 +169,20 @@ public class InvAccountOperate implements Serializable {
     @TableField(value = "ent_profit", typeHandler = FastjsonTypeHandler.class)
     private JSONObject entProfit;
 
+    private String createBy;
+
+    private String createId;
+
+    private String updateId;
+
+    private String updateBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime updateTime;
+
+    private String delFlag;
+
+
 
 
     @TableField(exist = false)

+ 1 - 1
src/main/java/com/ydtech/modules/inv/model/InvAccountOpDto.java → src/main/java/com/ydtech/modules/inv/model/dto/InvAccountOpDto.java

@@ -1,4 +1,4 @@
-package com.ydtech.modules.inv.model;
+package com.ydtech.modules.inv.model.dto;
 
 import lombok.Data;
 

+ 1 - 0
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountExcelServiceImpl.java

@@ -9,6 +9,7 @@ import com.ydtech.constants.enums.inv.InvPayMethodEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.dao.InvAccountExcelMapper;
 import com.ydtech.modules.inv.model.*;
 import com.ydtech.modules.inv.service.*;

+ 18 - 14
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountIncoiceServiceImpl.java

@@ -3,10 +3,13 @@ package com.ydtech.modules.inv.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.constants.enums.inv.InvoiceTypeEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.dao.InvAccountIncoiceMapper;
 import com.ydtech.modules.inv.model.*;
 import com.ydtech.modules.inv.model.vo.InvAccountIncoiceQueryVo;
@@ -121,6 +124,7 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
 
         Date date = new Date();
 
+        BaseController baseController = new BaseController();
         //收入操作记录
         InvAccountOperate invAccountOperate = new InvAccountOperate();
         invAccountOperate.setEnterCardId(entBankCardNum);
@@ -137,6 +141,8 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         invAccountOperate.setDel(String.valueOf(date.getTime()));
         invAccountOperate.setOutCardNum(outCard.getBankCardNum());
         invAccountOperate.setEnterCardNum(entCard.getBankCardNum());
+        invAccountOperate.setCreateId(baseController.getUserId());
+        invAccountOperate.setCreateBy(baseController.getUserName());
 
         //支出操作记录
         InvAccountOperate outInvAccountOperate = new InvAccountOperate();
@@ -154,6 +160,8 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         outInvAccountOperate.setDel(String.valueOf(date.getTime()));
         outInvAccountOperate.setOutCardNum(outCard.getBankCardNum());
         outInvAccountOperate.setEnterCardNum(entCard.getBankCardNum());
+        outInvAccountOperate.setCreateId(baseController.getUserId());
+        outInvAccountOperate.setCreateBy(baseController.getUserName());
 
 
 
@@ -227,7 +235,6 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
             invAccountOperate1.setInvoiceId(invAccountIncoice1.getInvoiceId());
             invAccountOperate1.setOutProfit(outProfit);
             invAccountOperate1.setEntProfit(entProfit);
-            outInvAccountOperate.setEnterCardNum(entCard.getBankCardNum());
             invAccountOperateService.insert(invAccountOperate1);
         }
 
@@ -263,18 +270,14 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         InvAccount entAccount = invAccountService.getById(enterAccount.getAccountId());
         //新增收入回滚操作
         List<InvAccountCard> invAccount = quashOutsideTransfer(outAccount, enterAccount, new BigDecimal(enInvAccountIncoice.getInvoiceMoney()),entAccount);
-        InvAccountOperate invAccountOperate = new InvAccountOperate();
-        invAccountOperate.setRevenueOutlay("1");
-        invAccountOperate.setApplyAmount("发票撤销 收入撤销");
-        invAccountOperate.setCompany(enInvAccountIncoice.getInvoiceBy());
-
-        LambdaQueryWrapper<InvAccountOperate> lambdaQuery = new LambdaQueryWrapper<>();
-
-        lambdaQuery.eq(InvAccountOperate::getInvoiceId, invAccountIncoice.getInvoiceId());
-
-        LambdaQueryWrapper<InvAccountOperate> lambdaQuery1 = new LambdaQueryWrapper<>();
+        BaseController baseController = new BaseController();
 
-        lambdaQuery1.eq(InvAccountOperate::getInvoiceId, invAccountIncoice.getInvoiceId());
+        InvAccountOperate invAccountOperate = new InvAccountOperate();
+        invAccountOperate.setInvoiceId(invAccountIncoice.getInvoiceId());
+        invAccountOperate.setUpdateId(baseController.getUserId());
+        invAccountOperate.setUpdateBy(baseController.getUserName());
+        invAccountOperate.setUpdateTime(LocalDateTime.now());
+        invAccountOperate.setDelFlag("1");
 
         LambdaQueryWrapper<InvAccountOp> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 
@@ -284,8 +287,9 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         try {
             invAccountIncoiceMapper.updateById(invAccountIncoice);
             invAccountCardService.updateBatchById(invAccount);
-            invAccountOperateService.remove(lambdaQuery);
-            invAccountOperateService.remove(lambdaQuery1);
+
+            invAccountOperateService.updateById(invAccountOperate);
+
             invAccountOpService.remove(lambdaQueryWrapper);
         } catch (Exception e) {
             return HttpResult.error("撤销失败");

+ 22 - 6
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountOperateServiceImpl.java

@@ -10,6 +10,7 @@ import com.ydtech.constants.enums.inv.InvPayMethodEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.dao.InvAccountOperateMapper;
 import com.ydtech.modules.inv.model.*;
 import com.ydtech.modules.inv.service.*;
@@ -24,6 +25,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import static com.ydtech.modules.inv.utils.TransferUtils.*;
 
@@ -123,10 +125,12 @@ public class InvAccountOperateServiceImpl extends ServiceImpl<InvAccountOperateM
             InvAccountCard invAccount = outsideTransfer(outAccountCard, outAccoun, entAccountCard, entAccount, applyAmount);
             invAccountCardService.updateById(invAccount);
         }
-
+        BaseController baseController = new BaseController();
         invAccountOperate.setCreateTime(LocalDateTime.now());
         invAccountOperate.setOutProfit(null);
         invAccountOperate.setEnterCardNum(entAccountCard.getBankCardNum());
+        invAccountOperate.setCreateBy(baseController.getUserName());
+        invAccountOperate.setCreateId(baseController.getUserId());
         insAccountOperateMapper.insert(invAccountOperate);
 
         List<InvAccountOp> list = invAccountEntOpList(entProfit, entAccount, entAccountCard, applyAmount,invAccountOperate.getAccountOperateId());
@@ -202,12 +206,24 @@ public class InvAccountOperateServiceImpl extends ServiceImpl<InvAccountOperateM
             InvAccountCard entAccountCard = invAccountCardService.getById(enterCardNum);
             InvAccount entAccount = invAccountService.getById(entAccountCard.getAccountId());
             List<InvAccountCard> invAccountCards = quashOutsideTransfer(outAccountCard, entAccountCard, new BigDecimal(invAccountOperate.getApplyAmount()),entAccount);
-            List<InvAccountOp> opList = new ArrayList<>();
+
+
+            List<String> accountOperateIds = invAccountOperates.stream()
+                    .map(InvAccountOperate::getAccountOperateId)
+                    .distinct()
+                    .collect(Collectors.toList());
+            BaseController baseController = new BaseController();
             invAccountOperates.forEach(invAccountOperate1 -> {
-                LambdaQueryWrapper<InvAccountOp> queryWrapper = new LambdaQueryWrapper<InvAccountOp>();
-                queryWrapper.eq(InvAccountOp::getAccountOperateId, invAccountOperate1.getAccountOperateId());
-                opList.addAll(invAccountOpService.list(queryWrapper));
+                invAccountOperate1.setUpdateBy(baseController.getUserName());
+                invAccountOperate1.setUpdateId(baseController.getUserId());
+                invAccountOperate1.setUpdateTime(LocalDateTime.now());
+                invAccountOperate1.setDelFlag("1");
             });
+
+            LambdaQueryWrapper<InvAccountOp> queryWrapper = new LambdaQueryWrapper<InvAccountOp>();
+            queryWrapper.in(InvAccountOp::getAccountOperateId, accountOperateIds);
+            List<InvAccountOp> list = invAccountOpService.list(queryWrapper);
+
             if(invAccountOperate.getInvoiceId() != null){
                 InvAccountIncoice byId = invAccountIncoiceService.getById(invAccountOperate.getInvoiceId());
                 byId.setPayoutMoney(new BigDecimal(byId.getPayoutMoney()).subtract(new BigDecimal(invAccountOperate.getApplyAmount())).toString());
@@ -215,7 +231,7 @@ public class InvAccountOperateServiceImpl extends ServiceImpl<InvAccountOperateM
                 invAccountIncoiceService.updateById(byId);
             }
 
-            invAccountOpService.removeBatchByIds(opList);
+            invAccountOpService.removeBatchByIds(list);
             invAccountCardService.updateBatchById(invAccountCards);
             insAccountOperateMapper.deleteBatchIds(invAccountOperates);
             return HttpResult.ok("删除成功");

+ 1 - 2
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountServiceImpl.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.inv.service.impl;
 
 import com.alibaba.excel.util.ListUtils;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
@@ -10,7 +9,7 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.inv.dao.InvAccountMapper;
 import com.ydtech.modules.inv.model.InvAccount;
 import com.ydtech.modules.inv.model.InvAccountOp;
-import com.ydtech.modules.inv.model.InvAccountOpDto;
+import com.ydtech.modules.inv.model.dto.InvAccountOpDto;
 import com.ydtech.modules.inv.model.InvAccountProfit;
 import com.ydtech.modules.inv.model.excel.AccountExcel;
 import com.ydtech.modules.inv.model.vo.InvAccountQueryVo;

+ 7 - 0
src/main/java/com/ydtech/modules/inv/utils/TransferUtils.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.inv.utils;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.model.*;
 import com.ydtech.modules.inv.service.InvAccountService;
 import com.ydtech.modules.inv.service.impl.InvAccountServiceImpl;
@@ -85,10 +86,13 @@ public class TransferUtils {
     public static InvAccountOperate insertOutAccountOperate(InvAccountExcel insAccountExcel) {
         //支出公司
         InvAccountOperate insAccountOperate = new InvAccountOperate();
+        BaseController baseController = new BaseController();
         InvAccountOperate operate = operate(insAccountExcel, insAccountOperate);
         operate.setRevenueOutlay("1");
         operate.setOutProfit(insAccountExcel.getOutProfit());
         operate.setCreateTime(LocalDateTime.now());
+        operate.setCreateBy(baseController.getUserName());
+        operate.setCreateId(baseController.getUserId());
         operate.setRemark(insAccountExcel.getRemark());
         operate.setOutCardNum(insAccountExcel.getOutCardNum());
         return operate;
@@ -100,11 +104,14 @@ public class TransferUtils {
     public static InvAccountOperate insertRevenueAccountOperate(InvAccountExcel insAccountExcel) {
         //支出公司
         InvAccountOperate insAccountOperate = new InvAccountOperate();
+        BaseController baseController = new BaseController();
         InvAccountOperate operate = operate(insAccountExcel, insAccountOperate);
         operate.setRevenueOutlay("0");
         operate.setEntProfit(insAccountExcel.getEntProfit());
         operate.setCreateTime(LocalDateTime.now());
         operate.setRemark(insAccountExcel.getRemark());
+        operate.setCreateBy(baseController.getUserName());
+        operate.setCreateId(baseController.getUserId());
         operate.setEnterCardNum(insAccountExcel.getEnterCardNum());
         return operate;
     }

+ 3 - 3
src/main/resources/mapper/modules/inv/InvAccountOperateMapper.xml

@@ -40,7 +40,7 @@
         select
         <include refid="Base_Column_List"/>
         from inv_account_operate
-        where 1=1
+        where del_flag = '0'
         <if test="insAccountOperate.accountOperateId != null and insAccountOperate.accountOperateId != ''">
             and account_operate_id like concat('%',#{insAccountOperate.accountOperateId},'%')
         </if>
@@ -67,7 +67,7 @@
         select
         <include refid="Base_Column_List"/>
         from inv_account_operate
-        where 1=1
+        where del_flag = '0'
         <if test="insAccountOperate.accountOperateId != null and insAccountOperate.accountOperateId != ''">
             and account_operate_id like concat('%',#{insAccountOperate.accountOperateId},'%')
         </if>
@@ -97,7 +97,7 @@
         select
         <include refid="Base_Column_List"/>
         from inv_account_operate
-        where 1=1
+        where del_flag = '0'
         and (
         enter_card_num in
         <foreach item="item" index="index" collection="list"