Pārlūkot izejas kodu

已采购数据 修改

yzc 1 gadu atpakaļ
vecāks
revīzija
c3c9975629

+ 6 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/purchase/dto/PurchaseDto.java

@@ -2,6 +2,7 @@ package com.fjhx.purchase.entity.purchase.dto;
 
 
 import com.fjhx.file.entity.ObsFile;
 import com.fjhx.file.entity.ObsFile;
 import com.fjhx.purchase.entity.purchase.po.Purchase;
 import com.fjhx.purchase.entity.purchase.po.Purchase;
+import com.fjhx.purchase.entity.purchase.po.PurchaseDetail;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
 
 
@@ -54,4 +55,9 @@ public class PurchaseDto extends Purchase {
      */
      */
     private List<ObsFile> fileList;
     private List<ObsFile> fileList;
 
 
+    /**
+     * 采购明细列表
+     */
+    private List<PurchaseDetail> purchaseDetailList;
+
 }
 }

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/purchase/po/Purchase.java

@@ -115,4 +115,9 @@ public class Purchase extends BasePo {
      * 流程实例
      * 流程实例
      */
      */
     private Long flowId;
     private Long flowId;
+
+    /**
+     * 修改前历史数据记录
+     */
+    private String oldDataJson;
 }
 }

+ 17 - 5
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchaseServiceImpl.java

@@ -3,9 +3,11 @@ package com.fjhx.purchase.service.purchase.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import cn.hutool.extra.spring.SpringUtil;
+import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONWriter;
 import com.alibaba.fastjson2.JSONWriter;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -67,10 +69,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 
 
@@ -443,8 +442,21 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
     }
     }
 
 
     @Override
     @Override
+    @DSTransactional
     public void edit(PurchaseDto purchaseDto) {
     public void edit(PurchaseDto purchaseDto) {
+        //记录修改数据前
+        PurchaseVo detail = detail(purchaseDto.getId());
+        JSONArray arrays = ObjectUtil.isEmpty(detail.getOldDataJson()) ? new JSONArray() : JSONArray.parse(detail.getOldDataJson());
+        JSONObject json = new JSONObject();
+        json.put("updateDate", new Date());
+        json.put("version", (arrays.size() + 1));
+        json.put("data", JSONObject.toJSONString(detail));
+        arrays.add(json);
+        purchaseDto.setOldDataJson(arrays.toJSONString());
+
         this.updateById(purchaseDto);
         this.updateById(purchaseDto);
+        List<PurchaseDetail> purchaseDetailList = purchaseDto.getPurchaseDetailList();
+        purchaseDetailService.updateBatchById(purchaseDetailList);
     }
     }
 
 
     @Override
     @Override
@@ -600,7 +612,7 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
      * 获取已采购数量
      * 获取已采购数量
      */
      */
     @Override
     @Override
-    public List<PurchaseDetailPo> getPurchaseCountList(IWrapper<Object> wrapper){
+    public List<PurchaseDetailPo> getPurchaseCountList(IWrapper<Object> wrapper) {
         return baseMapper.getPurchaseCountList(wrapper);
         return baseMapper.getPurchaseCountList(wrapper);
     }
     }
 }
 }