24282 1 год назад
Родитель
Сommit
490d2b652f
21 измененных файлов с 46 добавлено и 548 удалено
  1. 0 71
      sd-business/src/main/java/com/sd/business/controller/in/InOutStorageBalanceController.java
  2. 0 17
      sd-business/src/main/java/com/sd/business/entity/in/dto/InOutStorageBalanceDto.java
  3. 0 17
      sd-business/src/main/java/com/sd/business/entity/in/dto/InOutStorageBalanceSelectDto.java
  4. 0 48
      sd-business/src/main/java/com/sd/business/entity/in/po/InOutStorageBalance.java
  5. 0 10
      sd-business/src/main/java/com/sd/business/entity/in/po/InOutStorageBom.java
  6. 0 17
      sd-business/src/main/java/com/sd/business/entity/in/vo/InOutStorageBalanceVo.java
  7. 9 9
      sd-business/src/main/java/com/sd/business/entity/in/vo/InOutStorageBomErpExportVo.java
  8. 0 5
      sd-business/src/main/java/com/sd/business/entity/inventory/bo/InOutFun.java
  9. 1 8
      sd-business/src/main/java/com/sd/business/entity/inventory/po/Inventory.java
  10. 4 5
      sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryBackup.java
  11. 1 8
      sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryBackupVo.java
  12. 1 8
      sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryVo.java
  13. 0 16
      sd-business/src/main/java/com/sd/business/mapper/in/InOutStorageBalanceMapper.java
  14. 0 46
      sd-business/src/main/java/com/sd/business/service/in/InOutStorageBalanceService.java
  15. 1 1
      sd-business/src/main/java/com/sd/business/service/in/InOutStorageBomService.java
  16. 0 68
      sd-business/src/main/java/com/sd/business/service/in/impl/InOutStorageBalanceServiceImpl.java
  17. 16 15
      sd-business/src/main/java/com/sd/business/service/in/impl/InOutStorageBomServiceImpl.java
  18. 0 1
      sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryBackupServiceImpl.java
  19. 10 3
      sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedOrderServiceImpl.java
  20. 3 170
      sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryServiceImpl.java
  21. 0 5
      sd-business/src/main/resources/mapper/in/InOutStorageBalanceMapper.xml

+ 0 - 71
sd-business/src/main/java/com/sd/business/controller/in/InOutStorageBalanceController.java

@@ -1,71 +0,0 @@
-package com.sd.business.controller.in;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.BaseSelectDto;
-import com.sd.business.entity.in.dto.InOutStorageBalanceDto;
-import com.sd.business.entity.in.dto.InOutStorageBalanceSelectDto;
-import com.sd.business.entity.in.vo.InOutStorageBalanceVo;
-import com.sd.business.service.in.InOutStorageBalanceService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-
-/**
- * <p>
- * 出入库结存单价计算表 前端控制器
- * </p>
- *
- * @author
- * @since 2023-12-12
- */
-@RestController
-@RequestMapping("/inOutStorageBalance")
-public class InOutStorageBalanceController {
-
-    @Autowired
-    private InOutStorageBalanceService inOutStorageBalanceService;
-
-    /**
-     * 出入库结存单价计算表分页
-     */
-    @PostMapping("/page")
-    public Page<InOutStorageBalanceVo> page(@RequestBody InOutStorageBalanceSelectDto dto) {
-        return inOutStorageBalanceService.getPage(dto);
-    }
-
-    /**
-     * 出入库结存单价计算表明细
-     */
-    @PostMapping("/detail")
-    public InOutStorageBalanceVo detail(@RequestBody BaseSelectDto dto) {
-        return inOutStorageBalanceService.detail(dto.getId());
-    }
-
-    /**
-     * 出入库结存单价计算表新增
-     */
-    @PostMapping("/add")
-    public void add(@RequestBody InOutStorageBalanceDto dto) {
-        inOutStorageBalanceService.add(dto);
-    }
-
-    /**
-     * 出入库结存单价计算表编辑
-     */
-    @PostMapping("/edit")
-    public void edit(@RequestBody InOutStorageBalanceDto dto) {
-        inOutStorageBalanceService.edit(dto);
-    }
-
-    /**
-     * 出入库结存单价计算表删除
-     */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        inOutStorageBalanceService.delete(dto.getId());
-    }
-
-}

+ 0 - 17
sd-business/src/main/java/com/sd/business/entity/in/dto/InOutStorageBalanceDto.java

@@ -1,17 +0,0 @@
-package com.sd.business.entity.in.dto;
-
-import com.sd.business.entity.in.po.InOutStorageBalance;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 出入库结存单价计算表新增编辑入参实体
- *
- * @author
- * @since 2023-12-12
- */
-@Getter
-@Setter
-public class InOutStorageBalanceDto extends InOutStorageBalance {
-
-}

+ 0 - 17
sd-business/src/main/java/com/sd/business/entity/in/dto/InOutStorageBalanceSelectDto.java

@@ -1,17 +0,0 @@
-package com.sd.business.entity.in.dto;
-
-import com.ruoyi.common.core.domain.BaseSelectDto;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 出入库结存单价计算表列表查询入参实体
- *
- * @author
- * @since 2023-12-12
- */
-@Getter
-@Setter
-public class InOutStorageBalanceSelectDto extends BaseSelectDto {
-
-}

+ 0 - 48
sd-business/src/main/java/com/sd/business/entity/in/po/InOutStorageBalance.java

@@ -1,48 +0,0 @@
-package com.sd.business.entity.in.po;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.core.domain.BasePo;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-
-/**
- * <p>
- * 出入库结存单价计算表
- * </p>
- *
- * @author
- * @since 2023-12-12
- */
-@Getter
-@Setter
-@TableName("in_out_storage_balance")
-public class InOutStorageBalance extends BasePo {
-
-    /**
-     * 事业部id
-     */
-    private Long departmentId;
-
-    /**
-     * 仓库id
-     */
-    private Long warehouseId;
-
-    /**
-     * bom规格id
-     */
-    private Long bomSpecId;
-
-    /**
-     * 单价s
-     */
-    private BigDecimal inUnitPrice;
-
-    /**
-     * 入库数量
-     */
-    private BigDecimal quantity;
-
-}

+ 0 - 10
sd-business/src/main/java/com/sd/business/entity/in/po/InOutStorageBom.java

@@ -36,14 +36,4 @@ public class InOutStorageBom extends BasePo implements InOutFun {
      */
     private BigDecimal quantity;
 
-    /**
-     * 入库单价
-     */
-    private BigDecimal unitPrice;
-
-    /**
-     * 结存库存数量
-     */
-    private BigDecimal balanceInventoryQuantity;
-
 }

+ 0 - 17
sd-business/src/main/java/com/sd/business/entity/in/vo/InOutStorageBalanceVo.java

@@ -1,17 +0,0 @@
-package com.sd.business.entity.in.vo;
-
-import com.sd.business.entity.in.po.InOutStorageBalance;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 出入库结存单价计算表列表查询返回值实体
- *
- * @author
- * @since 2023-12-12
- */
-@Getter
-@Setter
-public class InOutStorageBalanceVo extends InOutStorageBalance {
-
-}

+ 9 - 9
sd-business/src/main/java/com/sd/business/entity/in/vo/InOutStorageBomErpExportVo.java

@@ -58,13 +58,13 @@ public class InOutStorageBomErpExportVo {
      */
     private String sourceRtk;
 
-    /**
-     * 单位成本
-     */
-    private String unitCost;
-
-    /**
-     * 成本金额
-     */
-    private String costAmt;
+    ///**
+    // * 单位成本
+    // */
+    //private String unitCost;
+    //
+    ///**
+    // * 成本金额
+    // */
+    //private String costAmt;
 }

+ 0 - 5
sd-business/src/main/java/com/sd/business/entity/inventory/bo/InOutFun.java

@@ -14,9 +14,4 @@ public interface InOutFun {
      */
     BigDecimal getQuantity();
 
-    /**
-     * 保存结存库存数量
-     */
-    void setBalanceInventoryQuantity(BigDecimal balanceInventoryQuantity);
-
 }

+ 1 - 8
sd-business/src/main/java/com/sd/business/entity/inventory/po/Inventory.java

@@ -41,14 +41,7 @@ public class Inventory extends BasePo {
      * 数量
      */
     @ColumnWidth(15)
-    @ExcelProperty(value = "可用库存", index = 4)
+    @ExcelProperty(value = "可用库存", index = 3)
     private BigDecimal quantity;
 
-    /**
-     * 结存单价
-     */
-    @ColumnWidth(15)
-    @ExcelProperty(value = "结存单价", index = 3)
-    private BigDecimal balanceUnitPrice;
-
 }

+ 4 - 5
sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryBackup.java

@@ -1,5 +1,7 @@
 package com.sd.business.entity.inventory.po;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
@@ -44,14 +46,11 @@ public class InventoryBackup extends BasePo {
     /**
      * 数量
      */
+    @ColumnWidth(15)
+    @ExcelProperty(value = "可用库存", index = 3)
     private BigDecimal quantity;
 
     /**
-     * 结存单价
-     */
-    private BigDecimal balanceUnitPrice;
-
-    /**
      * 备份日期
      */
     private Date backupDate;

+ 1 - 8
sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryBackupVo.java

@@ -47,17 +47,10 @@ public class InventoryBackupVo extends InventoryBackup {
     private String departmentName;
 
     /**
-     * 结存总价
-     */
-    @ColumnWidth(15)
-    @ExcelProperty(value = "结存总价", index = 6)
-    private BigDecimal totalPrice;
-
-    /**
      * 总库存
      */
     @ColumnWidth(15)
-    @ExcelProperty(value = "总库存", index = 7)
+    @ExcelProperty(value = "总库存", index = 4)
     private BigDecimal totalQuantity;
 
     /**

+ 1 - 8
sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryVo.java

@@ -47,17 +47,10 @@ public class InventoryVo extends Inventory {
     private String departmentName;
 
     /**
-     * 结存总价
-     */
-    @ColumnWidth(15)
-    @ExcelProperty(value = "结存总价", index = 5)
-    private BigDecimal totalPrice;
-
-    /**
      * 总库存
      */
     @ColumnWidth(15)
-    @ExcelProperty(value = "总库存", index = 6)
+    @ExcelProperty(value = "总库存", index = 4)
     private BigDecimal totalQuantity;
 
 }

+ 0 - 16
sd-business/src/main/java/com/sd/business/mapper/in/InOutStorageBalanceMapper.java

@@ -1,16 +0,0 @@
-package com.sd.business.mapper.in;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.sd.business.entity.in.po.InOutStorageBalance;
-
-/**
- * <p>
- * 出入库结存单价计算表 Mapper 接口
- * </p>
- *
- * @author
- * @since 2023-12-12
- */
-public interface InOutStorageBalanceMapper extends BaseMapper<InOutStorageBalance> {
-
-}

+ 0 - 46
sd-business/src/main/java/com/sd/business/service/in/InOutStorageBalanceService.java

@@ -1,46 +0,0 @@
-package com.sd.business.service.in;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.service.BaseService;
-import com.sd.business.entity.in.dto.InOutStorageBalanceDto;
-import com.sd.business.entity.in.dto.InOutStorageBalanceSelectDto;
-import com.sd.business.entity.in.po.InOutStorageBalance;
-import com.sd.business.entity.in.vo.InOutStorageBalanceVo;
-
-
-/**
- * <p>
- * 出入库结存单价计算表 服务类
- * </p>
- *
- * @author
- * @since 2023-12-12
- */
-public interface InOutStorageBalanceService extends BaseService<InOutStorageBalance> {
-
-    /**
-     * 出入库结存单价计算表分页
-     */
-    Page<InOutStorageBalanceVo> getPage(InOutStorageBalanceSelectDto dto);
-
-    /**
-     * 出入库结存单价计算表明细
-     */
-    InOutStorageBalanceVo detail(Long id);
-
-    /**
-     * 出入库结存单价计算表新增
-     */
-    void add(InOutStorageBalanceDto dto);
-
-    /**
-     * 出入库结存单价计算表编辑
-     */
-    void edit(InOutStorageBalanceDto dto);
-
-    /**
-     * 出入库结存单价计算表删除
-     */
-    void delete(Long id);
-
-}

+ 1 - 1
sd-business/src/main/java/com/sd/business/service/in/InOutStorageBomService.java

@@ -24,7 +24,7 @@ public interface InOutStorageBomService extends BaseService<InOutStorageBom> {
 
     /**
      * 出入库bom导出E10
-     * @param dto
      */
     void exportErpExcel(InOutStorageBomSelectDto dto);
+
 }

+ 0 - 68
sd-business/src/main/java/com/sd/business/service/in/impl/InOutStorageBalanceServiceImpl.java

@@ -1,68 +0,0 @@
-package com.sd.business.service.in.impl;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.sd.business.entity.in.dto.InOutStorageBalanceDto;
-import com.sd.business.entity.in.dto.InOutStorageBalanceSelectDto;
-import com.sd.business.entity.in.po.InOutStorageBalance;
-import com.sd.business.entity.in.vo.InOutStorageBalanceVo;
-import com.sd.business.mapper.in.InOutStorageBalanceMapper;
-import com.sd.business.service.in.InOutStorageBalanceService;
-import com.sd.framework.util.Assert;
-import com.sd.framework.util.sql.Sql;
-import org.springframework.stereotype.Service;
-
-
-/**
- * <p>
- * 出入库结存单价计算表 服务实现类
- * </p>
- *
- * @author
- * @since 2023-12-12
- */
-@Service
-public class InOutStorageBalanceServiceImpl extends ServiceImpl<InOutStorageBalanceMapper, InOutStorageBalance> implements InOutStorageBalanceService {
-
-    @Override
-    public Page<InOutStorageBalanceVo> getPage(InOutStorageBalanceSelectDto dto) {
-
-        Page<InOutStorageBalanceVo> page = Sql.create(InOutStorageBalanceVo.class)
-                .selectAll(InOutStorageBalance.class)
-                .from(InOutStorageBalance.class)
-                .orderByDesc(InOutStorageBalance::getId)
-                .page(dto);
-
-        return page;
-    }
-
-    @Override
-    public InOutStorageBalanceVo detail(Long id) {
-
-        InOutStorageBalanceVo vo = Sql.create(InOutStorageBalanceVo.class)
-                .selectAll(InOutStorageBalance.class)
-                .from(InOutStorageBalance.class)
-                .eq(InOutStorageBalance::getId, id)
-                .one();
-
-        Assert.notNull(vo, "未知数据");
-
-        return vo;
-    }
-
-    @Override
-    public void add(InOutStorageBalanceDto dto) {
-        save(dto);
-    }
-
-    @Override
-    public void edit(InOutStorageBalanceDto dto) {
-        updateById(dto);
-    }
-
-    @Override
-    public void delete(Long id) {
-        removeById(id);
-    }
-
-}

+ 16 - 15
sd-business/src/main/java/com/sd/business/service/in/impl/InOutStorageBomServiceImpl.java

@@ -13,8 +13,8 @@ import com.sd.business.entity.in.emums.InOutTypeEnum;
 import com.sd.business.entity.in.emums.OutDetailTypeEnum;
 import com.sd.business.entity.in.po.InOutStorage;
 import com.sd.business.entity.in.po.InOutStorageBom;
-import com.sd.business.entity.in.vo.InOutStorageBomVo;
 import com.sd.business.entity.in.vo.InOutStorageBomErpExportVo;
+import com.sd.business.entity.in.vo.InOutStorageBomVo;
 import com.sd.business.entity.in.vo.InOutStorageErpExportVo;
 import com.sd.business.entity.purchase.po.Purchase;
 import com.sd.business.entity.warehouse.po.Warehouse;
@@ -27,8 +27,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 import static java.util.Comparator.comparing;
@@ -115,7 +119,7 @@ public class InOutStorageBomServiceImpl extends ServiceImpl<InOutStorageBomMappe
         List<InOutStorageBomVo> inOutStorageBomList = list.stream()
                 .filter(item -> {
                     if (!(ObjectUtil.equals(item.getWarehouseCode(), "509")
-                            || ObjectUtil.equals(item.getWarehouseCode(),"503"))) {
+                            || ObjectUtil.equals(item.getWarehouseCode(), "503"))) {
                         return false;
                     }
                     if (dto.getDetailType() != null) {
@@ -126,11 +130,8 @@ public class InOutStorageBomServiceImpl extends ServiceImpl<InOutStorageBomMappe
                             && (ObjectUtil.equals(item.getDetailType(), InDetailTypeEnum.RETURN_GOODS.getKey())
                             || ObjectUtil.equals(item.getDetailType(), InDetailTypeEnum.GIVE_BACK.getKey()))) {
                         return true;
-                    } else if (ObjectUtil.equals(dto.getType(), InOutTypeEnum.OUT.getKey())
-                            && ObjectUtil.equals(item.getDetailType(), OutDetailTypeEnum.PRODUCTION.getKey())) {
-                        return true;
-                    }
-                    return false;
+                    } else return ObjectUtil.equals(dto.getType(), InOutTypeEnum.OUT.getKey())
+                            && ObjectUtil.equals(item.getDetailType(), OutDetailTypeEnum.PRODUCTION.getKey());
                 })
                 .collect(Collectors.toList());
         // 查询详情信息
@@ -184,11 +185,11 @@ public class InOutStorageBomServiceImpl extends ServiceImpl<InOutStorageBomMappe
                     inOutStorageBomErpExportVo.setUnit("PCS");
                     inOutStorageBomErpExportVo.setPieces("0");
                     inOutStorageBomErpExportVo.setSourceRtk("OTHER");
-                    if (item.getUnitPrice() == null) {
-                        item.setUnitPrice(BigDecimal.ZERO);
-                    }
-                    inOutStorageBomErpExportVo.setUnitCost(item.getUnitPrice().toPlainString());
-                    inOutStorageBomErpExportVo.setCostAmt(item.getUnitPrice().multiply(item.getQuantity()).toPlainString());
+                    //if (item.getUnitPrice() == null) {
+                    //    item.setUnitPrice(BigDecimal.ZERO);
+                    //}
+                    //inOutStorageBomErpExportVo.setUnitCost(item.getUnitPrice().toPlainString());
+                    //inOutStorageBomErpExportVo.setCostAmt(item.getUnitPrice().multiply(item.getQuantity()).toPlainString());
                     return inOutStorageBomErpExportVo;
                 })
                 .sorted(comparing(InOutStorageBomErpExportVo::getCode))
@@ -198,7 +199,7 @@ public class InOutStorageBomServiceImpl extends ServiceImpl<InOutStorageBomMappe
                         serialNumber = 1;
                         serialNumberMap.put(item.getCode(), serialNumber);
                     } else {
-                        serialNumberMap.put(item.getCode(), serialNumber+=1);
+                        serialNumberMap.put(item.getCode(), serialNumber += 1);
                     }
                     item.setSerialNumber(serialNumber.toString());
                 }).collect(Collectors.toList());

+ 0 - 1
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryBackupServiceImpl.java

@@ -72,7 +72,6 @@ public class InventoryBackupServiceImpl extends ServiceImpl<InventoryBackupMappe
                 .selectAs(BomSpec::getCode, InventoryBackupVo::getBomSpecCode)
                 .selectAs(BomSpec::getName, InventoryBackupVo::getBomSpecName)
                 .selectAs(Department::getName, InventoryBackupVo::getDepartmentName)
-                .multiply(Inventory::getQuantity, Inventory::getBalanceUnitPrice, InventoryBackupVo::getTotalPrice)
 
                 .from(Inventory.class)
                 .leftJoin(BomSpec.class, Inventory::getBomSpecId)

+ 10 - 3
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedOrderServiceImpl.java

@@ -38,7 +38,14 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 import static java.util.Comparator.comparing;
@@ -274,8 +281,8 @@ public class InventoryFinishedOrderServiceImpl extends ServiceImpl<InventoryFini
                                 .add(orderSku.getDeliveryMaterialsFee())
                                 .add(orderSku.getPackagingMaterialCost());
                     }
-                    inOutStorageBomErpExportVo.setUnitCost(unitCost.toPlainString());
-                    inOutStorageBomErpExportVo.setCostAmt(unitCost.multiply(new BigDecimal(item.getQuantity())).toPlainString());
+                    //inOutStorageBomErpExportVo.setUnitCost(unitCost.toPlainString());
+                    //inOutStorageBomErpExportVo.setCostAmt(unitCost.multiply(new BigDecimal(item.getQuantity())).toPlainString());
                     return inOutStorageBomErpExportVo;
                 })
                 .sorted(comparing(InOutStorageBomErpExportVo::getCode, Comparator.nullsFirst(String::compareTo)))

+ 3 - 170
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryServiceImpl.java

@@ -1,14 +1,12 @@
 package com.sd.business.service.inventory.impl;
 
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.exception.ServiceException;
 import com.sd.business.entity.bom.po.Bom;
 import com.sd.business.entity.bom.po.BomSpec;
 import com.sd.business.entity.department.po.Department;
-import com.sd.business.entity.in.po.InOutStorageBalance;
 import com.sd.business.entity.in.po.InOutStorageBom;
 import com.sd.business.entity.inventory.bo.InOutFun;
 import com.sd.business.entity.inventory.dto.InventorySelectDto;
@@ -19,13 +17,10 @@ import com.sd.business.entity.inventory.po.Inventory;
 import com.sd.business.entity.inventory.vo.InventoryVo;
 import com.sd.business.entity.inventory.vo.QuantityByDepartmentVo;
 import com.sd.business.entity.inventory.vo.QuantityByWarehouseVo;
-import com.sd.business.entity.purchase.po.PurchaseBom;
 import com.sd.business.entity.warehouse.po.Warehouse;
 import com.sd.business.mapper.inventory.InventoryMapper;
 import com.sd.business.service.bom.BomSpecService;
-import com.sd.business.service.in.InOutStorageBalanceService;
 import com.sd.business.service.inventory.InventoryService;
-import com.sd.business.service.purchase.PurchaseBomService;
 import com.sd.framework.util.excel.util.ExcelUtil;
 import com.sd.framework.util.sql.Sql;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,8 +28,6 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -57,12 +50,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
     private HttpServletResponse response;
 
     @Autowired
-    private PurchaseBomService purchaseBomService;
-
-    @Autowired
-    private InOutStorageBalanceService inOutStorageBalanceService;
-
-    @Autowired
     private BomSpecService bomSpecService;
 
     @Override
@@ -74,7 +61,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
                 .selectAs(BomSpec::getCode, InventoryVo::getBomSpecCode)
                 .selectAs(BomSpec::getName, InventoryVo::getBomSpecName)
                 .selectAs(Department::getName, InventoryVo::getDepartmentName)
-                .multiply(Inventory::getQuantity, Inventory::getBalanceUnitPrice, InventoryVo::getTotalPrice)
 
                 .from(Inventory.class)
                 .leftJoin(BomSpec.class, Inventory::getBomSpecId)
@@ -150,32 +136,13 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
     public void purchaseInStorage(Long purchaseId, Long departmentId, Long warehouseId, List<InOutStorageBom> inOutStorageBomList) {
         List<Long> bomSpecIdList = inOutStorageBomList.stream().map(InOutStorageBom::getBomSpecId).collect(Collectors.toList());
         synchronized (this) {
+
             // 通过事业部id和出库id获取bom规格库存
             List<Inventory> inventoryList = getInventoryList(departmentId, warehouseId, bomSpecIdList);
 
             // 通过bom规格分组
             Map<Long, Inventory> map = inventoryList.stream().collect(Collectors.toMap(Inventory::getBomSpecId, Function.identity()));
 
-            Map<Long, PurchaseBom> purchaseBomMap = purchaseBomService.mapKEntity(PurchaseBom::getBomSpecId,
-                    q -> q.eq(PurchaseBom::getPurchaseId, purchaseId).in(PurchaseBom::getBomSpecId, bomSpecIdList));
-
-            // 保存结存单价批次
-            List<InOutStorageBalance> inOutStorageDetailsList = inOutStorageBomList.stream().map(item -> {
-                // 获取入库单价
-                PurchaseBom purchaseBom = purchaseBomMap.get(item.getBomSpecId());
-                BigDecimal inUnitPrice = purchaseBom == null ? BigDecimal.ZERO : purchaseBom.getUnitPrice();
-                item.setUnitPrice(inUnitPrice);
-
-                InOutStorageBalance inOutStorageBalance = new InOutStorageBalance();
-                inOutStorageBalance.setDepartmentId(departmentId);
-                inOutStorageBalance.setWarehouseId(warehouseId);
-                inOutStorageBalance.setBomSpecId(item.getBomSpecId());
-                inOutStorageBalance.setInUnitPrice(inUnitPrice);
-                inOutStorageBalance.setQuantity(item.getQuantity());
-                return inOutStorageBalance;
-            }).collect(Collectors.toList());
-            inOutStorageBalanceService.saveBatch(inOutStorageDetailsList);
-
             for (InOutStorageBom inOutStorageBom : inOutStorageBomList) {
 
                 // 库存
@@ -185,26 +152,13 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
                     tempInventory.setDepartmentId(departmentId);
                     tempInventory.setBomSpecId(item);
                     tempInventory.setQuantity(BigDecimal.ZERO);
-                    tempInventory.setBalanceUnitPrice(BigDecimal.ZERO);
                     inventoryList.add(tempInventory);
                     return tempInventory;
                 });
 
-                // 结存数量
+                // 数量
                 BigDecimal sumQuantity = inventory.getQuantity().add(inOutStorageBom.getQuantity());
-
-                // 结存金额
-                PurchaseBom purchaseBom = purchaseBomMap.get(inOutStorageBom.getBomSpecId());
-                BigDecimal sumPrice = inventory.getQuantity().multiply(inventory.getBalanceUnitPrice())
-                        .add(inOutStorageBom.getQuantity().multiply(purchaseBom.getUnitPrice()));
-
-                // 获取入库结存单价
-                BigDecimal balanceUnitPrice = sumPrice.divide(sumQuantity, 3, RoundingMode.HALF_UP);
-
                 inventory.setQuantity(sumQuantity);
-                inventory.setBalanceUnitPrice(balanceUnitPrice);
-
-                inOutStorageBom.setBalanceInventoryQuantity(sumQuantity);
             }
 
             saveOrUpdateBatch(inventoryList);
@@ -226,28 +180,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
 
             // 通过bom规格分组
             Map<Long, Inventory> map = inventoryList.stream().collect(Collectors.toMap(Inventory::getBomSpecId, Function.identity()));
-
-            // 保存结存单价批次
-            List<InOutStorageBalance> inOutStorageBalanceList = list.stream().map(item -> {
-
-                // todo 获取临时结存单价
-                Inventory inventory = map.get(item.getBomSpecId());
-                BigDecimal inUnitPrice = inventory == null ? BigDecimal.ZERO : inventory.getBalanceUnitPrice();
-
-                InOutStorageBalance inOutStorageBalance = new InOutStorageBalance();
-                inOutStorageBalance.setDepartmentId(departmentId);
-                inOutStorageBalance.setWarehouseId(warehouseId);
-                inOutStorageBalance.setBomSpecId(item.getBomSpecId());
-                inOutStorageBalance.setInUnitPrice(inUnitPrice);
-                inOutStorageBalance.setQuantity(item.getQuantity());
-
-                return inOutStorageBalance;
-            }).collect(Collectors.toList());
-            inOutStorageBalanceService.saveBatch(inOutStorageBalanceList);
-
-            // 通过出库id获取bom规格结存列表
-            Map<Long, List<InOutStorageBalance>> inOutStorageBalanceMap = getInOutStorageBalanceMap(warehouseId, bomSpecIdList);
-
             for (InOutFun inOutFun : list) {
 
                 // 库存
@@ -260,15 +192,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
                     inventoryList.add(tempInventory);
                     return tempInventory;
                 });
-
-                // 获取入库结存单价
-                BigDecimal balanceUnitPrice = getBalanceUnitPrice(inOutStorageBalanceMap, inOutFun);
-
                 inventory.setQuantity(inventory.getQuantity().add(inOutFun.getQuantity()));
-                inventory.setBalanceUnitPrice(balanceUnitPrice);
-
-                // 保存当前入库记录的结存库存
-                inOutFun.setBalanceInventoryQuantity(inventory.getQuantity());
             }
 
             saveOrUpdateBatch(inventoryList);
@@ -285,9 +209,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
             List<Inventory> inventoryList = getInventoryList(departmentId, warehouseId, bomSpecIdList);
             Map<Long, Inventory> inventoryMap = inventoryList.stream().collect(Collectors.toMap(Inventory::getBomSpecId, Function.identity()));
 
-            // 获取bom规格id和结存明细列表map
-            Map<Long, List<InOutStorageBalance>> inOutStorageBalanceMap = getInOutStorageBalanceMap(warehouseId, bomSpecIdList);
-
             for (InOutFun inOutFun : list) {
 
                 BigDecimal quantity = inOutFun.getQuantity();
@@ -305,39 +226,14 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
                 }
                 inventory.setQuantity(inventory.getQuantity().subtract(quantity));
 
-                // 计算出库结存单价
-                BigDecimal balanceUnitPrice = getOutBalanceUnitPrice(inOutStorageBalanceMap, inOutFun);
-
-                // 赋值结存单价
-                inventory.setBalanceUnitPrice(balanceUnitPrice);
-
-                // 保存当前入库记录的结存库存
-                inOutFun.setBalanceInventoryQuantity(inventory.getQuantity());
-
             }
 
-            // 修改计算结存单价的出入库明细表
-            List<InOutStorageBalance> inOutStorageDetailsList = inOutStorageBalanceMap.values()
-                    .stream().flatMap(Collection::stream).collect(Collectors.toList());
-            inOutStorageBalanceService.updateBatchById(inOutStorageDetailsList);
-
-            // 修改库存数量以及结存单价
+            // 修改库存数量
             updateBatchById(inventoryList);
         }
     }
 
     /**
-     * 通过出库id获取bom规格结存列表
-     */
-    private Map<Long, List<InOutStorageBalance>> getInOutStorageBalanceMap(Long warehouseId, List<Long> bomSpecIdList) {
-        return inOutStorageBalanceService.mapKGroup(InOutStorageBalance::getBomSpecId, q -> q
-                .eq(InOutStorageBalance::getWarehouseId, warehouseId)
-                .in(InOutStorageBalance::getBomSpecId, bomSpecIdList)
-                .gt(InOutStorageBalance::getQuantity, BigDecimal.ZERO)
-        );
-    }
-
-    /**
      * 通过事业部id和出库id获取bom规格库存
      */
     private List<Inventory> getInventoryList(Long departmentId, Long warehouseId, List<Long> bomSpecIdList) {
@@ -348,67 +244,4 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
         );
     }
 
-    /**
-     * 获取结存单价
-     */
-    private BigDecimal getBalanceUnitPrice(Map<Long, List<InOutStorageBalance>> map, InOutFun inOutFun) {
-
-        List<InOutStorageBalance> inOutStorageBalanceList = map.get(inOutFun.getBomSpecId());
-
-        // 没有结存记录,结存单价为0
-        if (ObjectUtil.isEmpty(inOutStorageBalanceList)) {
-            return BigDecimal.ZERO;
-        }
-
-        // 获取结存数量
-        BigDecimal sumQuantity = inOutStorageBalanceList.stream()
-                .map(InOutStorageBalance::getQuantity)
-                .reduce(BigDecimal.ZERO, BigDecimal::add);
-
-        // 数量为0,结存单价为0
-        if (sumQuantity.compareTo(BigDecimal.ZERO) == 0) {
-            return BigDecimal.ZERO;
-        }
-
-        // 获取结存金额
-        BigDecimal sumPrice = inOutStorageBalanceList.stream()
-                .map(item -> item.getQuantity().multiply(item.getInUnitPrice()))
-                .reduce(BigDecimal.ZERO, BigDecimal::add);
-
-        // 计算新结存单价
-        return sumPrice.divide(sumQuantity, 3, RoundingMode.HALF_UP);
-    }
-
-    /**
-     * 获取出库结存单价
-     */
-    private BigDecimal getOutBalanceUnitPrice(Map<Long, List<InOutStorageBalance>> map, InOutFun inOutFun) {
-
-        // 出库数量
-        BigDecimal outQuantity = inOutFun.getQuantity();
-
-        // 结存列表
-        List<InOutStorageBalance> inOutStorageBalanceList = map.get(inOutFun.getBomSpecId());
-
-        // 没有结存记录,结存单价为0
-        if (ObjectUtil.isEmpty(inOutStorageBalanceList)) {
-            return BigDecimal.ZERO;
-        }
-
-        for (InOutStorageBalance inOutStorageBalance : inOutStorageBalanceList) {
-            // 可出库数量
-            BigDecimal quantity = inOutStorageBalance.getQuantity();
-
-            if (outQuantity.compareTo(quantity) > 0) {
-                inOutStorageBalance.setQuantity(BigDecimal.ZERO);
-                outQuantity = outQuantity.subtract(quantity);
-            } else {
-                inOutStorageBalance.setQuantity(quantity.subtract(outQuantity));
-                break;
-            }
-        }
-
-        return getBalanceUnitPrice(map, inOutFun);
-    }
-
 }

+ 0 - 5
sd-business/src/main/resources/mapper/in/InOutStorageBalanceMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.sd.business.mapper.in.InOutStorageBalanceMapper">
-
-</mapper>