24282 2 лет назад
Родитель
Сommit
d51525d83b

+ 8 - 4
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/check/CheckInfo.java

@@ -1,15 +1,14 @@
 package com.fjhx.entity.check;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.fjhx.base.BaseEntity;
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 
@@ -34,6 +33,11 @@ public class CheckInfo extends BaseEntity {
     private Long warehouseId;
 
     /**
+     * 盘点金额
+     */
+    private BigDecimal amount;
+
+    /**
      * 盘点结论 0正常 1异常
      */
     private Integer resultType;

+ 2 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/check/CheckInfoMapper.xml

@@ -9,7 +9,8 @@
                w.name warehouseName,
                ci.create_time,
                ci.create_user,
-               ci.result_type
+               ci.result_type,
+               ci.amount
         from check_info ci
                  left join warehouse w on ci.warehouse_id = w.id
             ${ew.customSqlSegment}

+ 11 - 2
hx-service/victoriatourist/src/main/java/com/fjhx/service/check/impl/CheckInfoServiceImpl.java

@@ -87,6 +87,11 @@ public class CheckInfoServiceImpl extends ServiceImpl<CheckInfoMapper, CheckInfo
         // 盘亏金额
         BigDecimal lossAmount = BigDecimal.ZERO;
 
+        /**
+         * 盘点金额
+         */
+        BigDecimal checkAmount = BigDecimal.ZERO;
+
         // 获取商品加权平均价
         List<Long> productIdList = checkDetailsList.stream().map(CheckDetails::getProductId).collect(Collectors.toList());
         Map<Long, BigDecimal> kv = stockService.getKV(Stock::getGoodsId, Stock::getWeightingAveragePrice,
@@ -104,20 +109,23 @@ public class CheckInfoServiceImpl extends ServiceImpl<CheckInfoMapper, CheckInfo
 
             checkDetails.setCheckInfoId(id);
 
+            // 产品加权平均价
+            BigDecimal weightingAveragePrice = ObjectUtil.defaultIfNull(kv.get(productId), BigDecimal.ZERO);
+
+            checkAmount = checkAmount.add(weightingAveragePrice.multiply(checkQuantity));
+
             int flag = inventoryQuantity.compareTo(checkQuantity);
             if (flag > 0) {
                 checkDetails.setResultType(2);
                 checkResultType = 1;
 
                 // 添加盘亏金额
-                BigDecimal weightingAveragePrice = ObjectUtil.defaultIfNull(kv.get(productId), BigDecimal.ZERO);
                 lossAmount = lossAmount.add(inventoryQuantity.subtract(checkQuantity).multiply(weightingAveragePrice));
             } else if (flag < 0) {
                 checkDetails.setResultType(1);
                 checkResultType = 1;
 
                 // 添加盘盈金额
-                BigDecimal weightingAveragePrice = ObjectUtil.defaultIfNull(kv.get(productId), BigDecimal.ZERO);
                 overflowAmount = overflowAmount.add(checkQuantity.subtract(inventoryQuantity).multiply(weightingAveragePrice));
             } else {
                 checkDetails.setResultType(0);
@@ -129,6 +137,7 @@ public class CheckInfoServiceImpl extends ServiceImpl<CheckInfoMapper, CheckInfo
             checkInfoVo.setId(id);
             checkInfoVo.setResultType(checkResultType);
             checkInfoVo.setCode(CodeEnum.CHECK_CODE.getCode());
+            checkInfoVo.setAmount(checkAmount);
             save(checkInfoVo);
         }