杨凯
2023-10-19 78bc8db4ee276ad439f3a6383d683029598dcfb2
consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java
@@ -1,5 +1,6 @@
package com.consum.base.core;
import com.consum.base.core.param.BaseWarehouseParam;
import com.consum.base.core.tools.SqlParameter;
import com.consum.base.core.util.DateUtil;
import com.consum.model.po.*;
@@ -7,7 +8,6 @@
import com.walker.jdbc.service.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
@@ -45,7 +45,7 @@
            List<CheckUsingResult> results;
            String key = param.getLending_id();
            String key = param.getLending_id().toString();
            /**
             * 此处将同一个仓库下的同一个型号上锁,不同仓库、不同型号不受影响。
@@ -68,7 +68,7 @@
    /**
     * 统一出入库
     */
    public List<CheckWarehouseResult> unifyCheck(CheckWarehouseParam param) {
    public List<CheckWarehouseResult> unifyCheck(BaseWarehouseParam param) {
        // TODO: 10/10/2023 此处加了唯一锁,会影响性能,思考是否有更合适的办法
        try {
            Assert.notNull(param, "wareHouse param can not null !");
@@ -125,6 +125,12 @@
            CheckUsingResult result = new CheckUsingResult();
            DepFormLendingGoods goods = get(new DepFormLendingGoods(),"id=?",new Object[]{model.getDepFormLendingGoodsId()});
            //如果是A类物品,则需要与持有人等同
            if (goods.getClassification() == "A" && (goods.getGoodsUserName().equals(param.getUser_name()))) {
                continue;
            }
            //如果当前持有人持有物品数量大于出库数量,则直接减掉数量即可。
            if (model.getUsingCount() > shengyu){
                result.setInitial_count(model.getUsingCount());
@@ -214,7 +220,7 @@
    /**
     * 出库
     */
    private List<CheckWarehouseResult> checkout(CheckWarehouseParam param) {
    private List<CheckWarehouseResult> checkout(BaseWarehouseParam param) {
        //查询出指定仓库、指定型号,状态为正常的的库存物品,按照采购时间倒叙、价格倒叙排列
       String sql = "SELECT\n" +
                "   * \n" +
@@ -303,7 +309,7 @@
    /**
     * 入库
     */
    private CheckWarehouseResult checkin(CheckWarehouseParam param) throws RuntimeException {
    private CheckWarehouseResult checkin(BaseWarehouseParam param) throws RuntimeException {
        //如果是采购入库
        if (param.getFirst_input_type() ==1){