futian.liu
2023-12-01 79a57e0844bdd3b5f06ebaac807a0896624be70f
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -8,36 +8,25 @@
import com.consum.base.pojo.LWhFormTransferGoodsInfoParam;
import com.consum.base.pojo.LWhProcureModelUserParam;
import com.consum.base.pojo.LWhTransferModelParam;
import com.consum.base.pojo.excel.TemplateExcelTransfer;
import com.consum.base.pojo.excel.TransferExcelTemplate;
import com.consum.base.pojo.query.TransferQry;
import com.consum.base.pojo.request.LWhFormTransferParam;
import com.consum.base.pojo.response.DepartGoodsUseInfo;
import com.consum.base.pojo.response.FormTransferGoodsVO;
import com.consum.base.pojo.response.GoodsModelVO;
import com.consum.base.pojo.response.LWHFromTransferExtendVO;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.BaseWarehouseManager;
import com.consum.model.po.FinSysTenant;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormTransfer;
import com.consum.model.po.LWhProcureModel;
import com.consum.model.po.LWhProcureModelUser;
import com.consum.model.po.LWhProcureModelUserRecord;
import com.consum.model.po.*;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import java.util.*;
/**
 * @Description 调拨管理
@@ -70,7 +59,7 @@
    @Autowired
    private LWhProcureModelUserRecordServiceImpl lWhProcureModelUserRecordService;
    @Autowired
    private BaseWarehouseManagerServiceImpl baseWarehouseManagerService;
    private BaseWarehouseManagerService baseWarehouseManagerService;
    @Autowired
    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
@@ -132,7 +121,7 @@
            Long id = sysInfo.getId();
            BaseWarehouseManager manager = new BaseWarehouseManager();
            manager.setManagerId(id);
            List<BaseWarehouseManager> managerList = baseWarehouseManagerService.select(manager);
            List<BaseWarehouseManager> managerList = baseWarehouseManagerService.selectAll(manager);
            if (CollectionUtils.isEmpty(managerList)) {
                log.error("该用户不是库管员");
                throw new Exception("该用户不是库管员");
@@ -201,6 +190,7 @@
                    lWhProcureModel.setBusinessType(4);
                }
                lWhProcureModel.setCounts(model.getCounts());
                lWhProcureModel.setUseCount(model.getCounts());
                lWhProcureModel.setBusinessId(lWhFormTransferId);
                lWhProcureModel.setBaseGoodsModelsId(baseGoodsModelsId);
                //根据型号id查询型号
@@ -233,6 +223,7 @@
                        lWhProcureModelUser.setNowUserName(lWhProcureModelUserParam.getNowUserName());
                        lWhProcureModelUser.setNowUserPhone(lWhProcureModelUserParam.getNowUserPhone());
                        lWhProcureModelUser.setGoodsNum(lWhProcureModelUserParam.getGoodsNum());
                        lWhProcureModelUser.setUseCount(lWhProcureModelUser.getGoodsNum());
                        lWhProcureModelUser.setProcureModelUserRecordId(lWhProcureModelUserRecord.getId());
                        procureModelUserList.add(lWhProcureModelUser);
                    }
@@ -406,17 +397,16 @@
     * @Author 卢庆阳
     * @Date 2023/10/31
     */
    public Map<String, Object> export(Long id, Integer type) {
    public List<TransferExcelTemplate> export(Long id, Integer type) {
        String sql = "SELECT\n"
            + "\tft.BUSINESS_FORM_CODE,\n"
            + "\tft.OPERATOR_NAME,\n"
            + "\tft.CREATE_TIME,\n"
            + "\tft.IN_AGENCY_NAME,\n"
            + "\tft.OUT_AGENCY_NAME,\n"
            + "\tGOODS_NAME,\n"
            + "\tpm.BASE_GOODS_MODELS_NAME,\n"
            + "\tGOODS_NAME templateName,\n"
            + "\tpm.BASE_GOODS_MODELS_NAME baseModelName,\n"
            + "\tpm.COUNTS num,\n"
            + "\tpm.PRICE,\n"
            + "\tpm.total_amount,\n"
            + "\tft.BEIZ1 remark\n"
            + "FROM\n"
@@ -429,9 +419,9 @@
        Map<String, Object> paramts = new HashMap<>();
        paramts.put("id", id);
        List<Map<String, Object>> select = this.select(sql, paramts, new MapperUtil());
        List<TemplateExcelTransfer> list = Lists.newArrayList();
        List<TransferExcelTemplate> list = Lists.newArrayList();
        select.forEach(item -> {
            TemplateExcelTransfer templateExcelTransfer = MapUtils.convertMapToObj(item, TemplateExcelTransfer.class);
            TransferExcelTemplate templateExcelTransfer = MapUtils.convertMapToObj(item, TransferExcelTemplate.class);
            if (type == 1) {
                templateExcelTransfer.setTenantName(templateExcelTransfer.getOutAgencyName());
            } else {
@@ -440,29 +430,7 @@
            list.add(templateExcelTransfer);
        });
        int countNum = list.stream().filter(item -> item.getNum() != null).mapToInt(TemplateExcelTransfer::getNum).sum();
        int totalAmount = list.stream().filter(export -> export.getTotalAmount() != null).mapToInt(TemplateExcelTransfer::getTotalAmount).sum();
        Optional<TemplateExcelTransfer> first = list.stream().findFirst();
        TemplateExcelTransfer entity = first.get();
        String businessFormCode = entity.getBusinessFormCode();
        Long createTime = entity.getCreateTime();
        String operatorName = entity.getOperatorName();
        String tenantName;
        if (type == 1) {
            tenantName = entity.getInAgencyName();
        } else {
            tenantName = entity.getOutAgencyName();
        }
        Map<String, Object> map = new HashMap<>();
        map.put("code", businessFormCode);
        map.put("date", DateUtils.toShowDate(createTime));
        map.put("tenantName", tenantName);
        map.put("name", operatorName);
        map.put("countNum", countNum);
        map.put("totalAmount", totalAmount);
        map.put("data", list);
        return map;
        return list;
    }
    /**