consum-base/src/main/java/com/consum/base/service/impl/LWhFormOutputServiceImpl.java
@@ -1,12 +1,26 @@
package com.consum.base.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import com.consum.base.core.CodeGeneratorEnum;
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.param.BaseWarehouseParam1;
import com.consum.base.core.service.LWhWarningCoreServiceImpl;
import com.consum.base.core.type.GoodsModelType;
import com.consum.base.core.type.InAndOutPutType;
import com.consum.base.core.type.OutPutStatesType;
import com.consum.base.core.type.WareHouseType;
import com.consum.base.core.utils.CurrencyUtil;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.MapUtils;
@@ -16,22 +30,24 @@
import com.consum.base.pojo.LWhFormOutputParam;
import com.consum.base.pojo.excel.OutputExcelTemplate;
import com.consum.base.pojo.query.LWhFormOutputQry;
import com.consum.base.service.*;
import com.consum.model.po.*;
import com.consum.base.service.BaseGoodsModelsService;
import com.consum.base.service.BaseWarehouseService;
import com.consum.base.service.LWhFormOutputService;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.LWhProcureModelService;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormOutput;
import com.consum.model.po.LWhProcureModel;
import com.consum.model.po.WhFormOutput;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
import java.util.*;
import lombok.extern.slf4j.Slf4j;
/**
 * @Description 出库单
@@ -55,8 +71,7 @@
    private LWhFormOutputCoreService lWhFormOutputCoreService;
    @Autowired
    private BaseGoodsModelsService baseGoodsModelsService;
    @Resource
    private LWhWarningCoreServiceImpl lWhWarningCoreService;
    private static String QUERY_FORM_OUTPUT_LIST = "SELECT * FROM l_wh_form_output WHERE 1 = 1";
    /**
@@ -82,7 +97,7 @@
            return 0;
        }
        lWhFormOutput.setWarehouseName(warehouse.getWarehouseName());
        lWhFormOutput.setOutputCode(BaseWarehouseParam1.In_OutPutTypeEnum.Fragmentary_Output.getValue() + "");
        lWhFormOutput.setOutputCode(InAndOutPutType.Fragmentary_Output.getValue() + "");
        lWhFormOutput.setOutputName("零星出库");
        lWhFormOutput.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
        lWhFormOutput.setAgencyName(sysInfo.getTenantName());
@@ -91,9 +106,9 @@
        lWhFormOutput.setDealTime(param.getDealTime());
        lWhFormOutput.setStates(OutPutStatesType.OUT_PENDING.getValue());
        lWhFormOutput.setOutputDoc(param.getDoc());
        int flag1 = this.insert(lWhFormOutput);
        if (flag1 == 0) {
            log.error("新增出库单记录");
        int outputInsertNum = this.insert(lWhFormOutput);
        if (outputInsertNum == 0) {
            log.error("新增出库单记录失败");
            return 0;
        }
        // 2.新增物品型号记录
@@ -117,14 +132,15 @@
                }
                lWhProcureModel.setCounts(model.getCounts());
                // 根据物品型号查询物品库存
                int goodsNum =
                    this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), 1, null);
                List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId));
                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(WareHouseType.TENANT.getValue(), warehouseIds,
                    model.getBaseGoodsModelsId(), 1, null);
                lWhProcureModel.setWorehouseCount(goodsNum);
                modelList.add(lWhProcureModel);
            }
        }
        int flag2 = this.lWhProcureModelService.insert(modelList);
        if (flag2 != modelList.size()) {
        int modelInsertNum = this.lWhProcureModelService.insert(modelList);
        if (modelInsertNum != modelList.size()) {
            log.error("新增物品型号失败");
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return 0;
@@ -139,9 +155,9 @@
            return 0;
        }
        // 4 预警
        //当库存变动时调用该方法
//        lWhWarningCoreService.updateKuCun((short) 0, warehouseId, new ArrayList<>(allChangModelList), null, DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        // 当库存变动时调用该方法
        // lWhWarningCoreService.updateKuCun((short) 0, warehouseId, new ArrayList<>(allChangModelList), null,
        // DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        return 1;
    }