futian.liu
2023-11-28 89495b208235d2e30244ce9485c75ac2f1690c79
部门分发
6个文件已添加
1个文件已删除
10个文件已修改
537 ■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/utils/MixType.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/excel/TemplateExcelExport.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/excel/专项支出用款申请书_map.xls 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/OutAndInDetailVO.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deploy-jar-single/src/main/resources/import/采购入库单.xls 补丁 | 查看 | 原始文档 | blame | 历史
deploy-jar-single/src/main/resources/import/采购入库单.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
deploy-jar-single/src/main/resources/import/采购退货单.xls 补丁 | 查看 | 原始文档 | blame | 历史
deploy-jar-single/src/main/resources/import/采购退货单.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -7,6 +7,7 @@
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.core.utils.PageUtil;
import com.consum.base.pojo.LWhFormOutputParam;
import com.consum.base.pojo.query.LWhFormOutputQry;
import com.consum.base.pojo.response.FormOutputGoodsVO;
@@ -16,34 +17,34 @@
import com.consum.base.pojo.response.LWhFormOutputExtendVO;
import com.consum.base.service.LWarehouseFlowService;
import com.consum.base.service.LWhFormOutputServiceImpl;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.LWhProcureModelService;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormOutput;
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.DateUtils;
import com.walker.web.ResponseValue;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.compress.utils.Lists;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -63,8 +64,6 @@
    private LWhFormOutputServiceImpl lWhFormOutputService;
    @Autowired
    private LWhProcureModelService lWhProcureModelService;
    @Autowired
    private LWhGoodsService lWhGoodsService;
    @Resource
    private LWarehouseFlowService lWarehouseFlowService;
@@ -203,74 +202,55 @@
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryAllBusinessFlow(formOutputQry);
        PageUtil genericPager = lWarehouseFlowService.queryAllBusinessFlow(formOutputQry);
        return ResponseValue.success(genericPager);
    }
    @ApiOperation(value = "出库单导出", notes = "出库单导出")
    @GetMapping("/list/export")
    public void export(Long id, HttpServletRequest request, HttpServletResponse response) throws IOException {
        TemplateExportParams params = new TemplateExportParams(
            "import/采购退货单.xls");
    public void export(Long id, HttpServletResponse response) throws IOException {
        ClassPathResource classPathResource = new ClassPathResource("import/采购退货单.xls");
        // èŽ·å–æ–‡ä»¶è¾“å…¥æµ
        InputStream inputStream = classPathResource.getInputStream();
        Workbook wb = new HSSFWorkbook(inputStream);
        TemplateExportParams params = new TemplateExportParams();
        params.setTemplateWb(wb);
        FinSysTenantUser sysInfo = this.getSysInfo();
        String userName = sysInfo.getUserName();
        String sql = "SELECT\n"
            + "\tfo.BUSINESS_FORM_CODE,\n"
            + "\tfo.AGENCY_NAME tenantName,\n"
            + "\tGOODS_NAME goodsName,\n"
            + "\tpm.BASE_GOODS_MODELS_NAME goodsModeName,\n"
            + "\tcounts num,\n"
            + "\ttotal_amount sqje,\n"
            + "\tBEIZ remark\n"
            + "FROM\n"
            + "\tl_wh_procure_model pm\n"
            + "\tLEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id\n"
            + "\tLEFT JOIN base_goods_template bgt ON bgm.GOODS_TEMPLATES_ID = bgt.id\n"
            + "\tLEFT JOIN l_wh_form_output fo ON fo.ID = pm.BUSINESS_ID\n"
            + "WHERE\n"
            + "\tpm.BUSINESS_ID = 1393373943914496";
        Map<String, Object> param = new HashMap<>();
        param.put("id", id);
        List<Map<String, Object>> select = lWhFormOutputService.select(sql, param, new MapperUtil());
        String dateForHuman = DateUtils.getDateForHuman(System.currentTimeMillis());
        Map<String, Object> map = new HashMap<>();
        //获取select中的BUSINESS_FORM_CODE值,
        for (Map<String, Object> item : select) {
            String businessFormCode = (String) item.get("businessFormCode");
            map.put("code", businessFormCode);
            Object num = item.get("num");
            map.put("numCount", 100);
            map.put("amountCount", 100);
        Map<String, Object> map = lWhFormOutputService.getExportList(id, userName);
        if (CollectionUtils.isEmpty(map)) {
            throw new RuntimeException("数据为空");
        }
        List<Map<String, String>> listMap = new ArrayList<>();
        map.put("code", "贰佰万");
        map.put("date", dateForHuman);
        map.put("name", userName);
//        for (int i = 0; i < 4; i++) {
//            Map<String, String> lm = new HashMap<>();
//            lm.put("tenantName", i + 1 + "");
//            lm.put("goodsName", "A001");
//            lm.put("goodsModeName", "设计");
//            lm.put("num", "EasyPoi " + i + "期");
//            lm.put("price", "开源项目");
//            lm.put("sqje", i * 10000 + "");
//            lm.put("remark", i * 10000 + "");
//            listMap.add(lm);
//        }
        map.put("maplist", select);
        Workbook workbook = ExcelExportUtil.exportExcel(params, map);
        downLoadExcel("111", response, workbook);
        try (OutputStream outputStream = response.getOutputStream()) {
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
            response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("采购退货单.xls", "utf-8"));
            workbook.write(outputStream);
            workbook.close();
//        try (OutputStream outputStream = response.getOutputStream()) {
//            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
//            response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("采购退货单1.xlsx", "utf-8"));
//            workbook.write(outputStream);
//            workbook.close();
//        }
    }
    private void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) throws IOException {
        try (OutputStream out = response.getOutputStream()) {
            response.setCharacterEncoding("UTF-8");
            response.setHeader("content-Type", "application/vnd.ms-excel");
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName + ".xls", "UTF-8"));
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            workbook.write(baos);
            response.setHeader("Content-Length", String.valueOf(baos.size()));
            out.write(baos.toByteArray());
        } catch (Exception e) {
            try {
                throw new Exception(e.getMessage());
            } catch (Exception e1) {
                e1.printStackTrace();
            }
        }
    }
consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java
@@ -1,5 +1,7 @@
package com.consum.base.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.util.ReflectUtil;
import com.consum.base.BaseController;
import com.consum.base.core.CodeGeneratorEnum;
@@ -13,9 +15,26 @@
import com.consum.base.pojo.LWhFormProcureParam;
import com.consum.base.pojo.LWhProcureModelParam;
import com.consum.base.pojo.query.FormProcureQry;
import com.consum.base.pojo.response.*;
import com.consum.base.service.*;
import com.consum.model.po.*;
import com.consum.base.pojo.response.FormProcureVO;
import com.consum.base.pojo.response.FromProcureTemplateInfoVO;
import com.consum.base.pojo.response.GoodsModelVO;
import com.consum.base.pojo.response.LWhFormProcureExtendVO;
import com.consum.base.pojo.response.LWhFormProcureGoodsVO;
import com.consum.base.service.BaseGoodsTemplateServiceImpl;
import com.consum.base.service.BaseWarehouseServiceImpl;
import com.consum.base.service.LOrgSupplierServiceImpl;
import com.consum.base.service.LWhFormProcureCoreService;
import com.consum.base.service.LWhFormProcureGoodsService;
import com.consum.base.service.LWhFormProcureService;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.LWhProcureModelService;
import com.consum.model.po.BaseGoodsTemplate;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LOrgSupplier;
import com.consum.model.po.LWhFormProcure;
import com.consum.model.po.LWhFormProcureGoods;
import com.consum.model.po.LWhProcureModel;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
@@ -25,13 +44,26 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.compress.utils.Lists;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @ClassName LWhFormProcureController
@@ -48,8 +80,6 @@
    private LWhFormProcureService lWhFormProcureService;
    @Resource
    private BaseWarehouseServiceImpl baseWarehouseService;
    @Resource
    private FinSysTenantServiceImpl finSysTenantService;
    @Resource
    private CodeGeneratorService codeGeneratorService;
    @Resource
@@ -204,7 +234,7 @@
     */
    @ApiOperation(value = "采购单列表查询", notes = "采购单列表查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "param", value = "采购查询条件", required = true, dataType = "FormProcureQryDto", paramType = "query")
        @ApiImplicitParam(name = "param", value = "采购查询条件", required = true, dataType = "FormProcureQryDto", paramType = "query")
    })
    @GetMapping("/list")
    public ResponseValue queryFormProcureList() {
@@ -234,8 +264,8 @@
                // æŸ¥è¯¢åž‹å·æ•°é‡
                String sql = "select fpg.id,BASE_CATEGORY_ID ,BASE_GOODS_TEMPLATE_ID ,GOODS_TEMPLATE_NAME ,sum(counts) count "
                        + "from L_WH_FORM_PROCURE_GOODS fpg left join L_WH_PROCURE_MODEL pm on fpg.id = pm.FROM_PROCURE_GOODS_ID "
                        + "where fpg.WH_FORM_PROCURE_ID =:id group by pm.FROM_PROCURE_GOODS_ID";
                    + "from L_WH_FORM_PROCURE_GOODS fpg left join L_WH_PROCURE_MODEL pm on fpg.id = pm.FROM_PROCURE_GOODS_ID "
                    + "where fpg.WH_FORM_PROCURE_ID =:id group by pm.FROM_PROCURE_GOODS_ID";
                Map<String, Object> paramMap = new HashMap<>();
                paramMap.put("id", item.getId());
                List<Map<String, Object>> procureModelList = lWhProcureModelService.select(sql, paramMap, new MapperUtil());
@@ -354,8 +384,8 @@
            Map<String, Object> paramMap = new HashMap<>();
            paramMap.put("formProcureGoodId", formProcureGood.getId());
            String sql = "SELECT\n" + "pm.BASE_GOODS_MODELS_ID,pm.BASE_GOODS_MODELS_NAME,pm.PRICE,pm.COUNTS,pm.WOREHOUSE_COUNT,bgm.unit " + "FROM\n"
                    + "\tl_wh_procure_model pm\n"
                    + "\tLEFT JOIN base_goods_models bgm on pm.BASE_GOODS_MODELS_ID = bgm.id where pm.FROM_PROCURE_GOODS_ID =:formProcureGoodId";
                + "\tl_wh_procure_model pm\n"
                + "\tLEFT JOIN base_goods_models bgm on pm.BASE_GOODS_MODELS_ID = bgm.id where pm.FROM_PROCURE_GOODS_ID =:formProcureGoodId";
            List<Map<String, Object>> procureModelList = lWhProcureModelService.select(sql, paramMap, new MapperUtil());
            List<GoodsModelVO> goodsModelVOList = Lists.newArrayList();
            procureModelList.forEach(item -> {
@@ -389,4 +419,27 @@
        GenericPager genericPager = lWhFormProcureService.queryFormProcureDetailList(formProcureQry);
        return ResponseValue.success(genericPager);
    }
    @ApiOperation(value = "采购单导出", notes = "采购单导出")
    @GetMapping("/list/export")
    public void export(Long id, HttpServletResponse response) throws IOException {
        TemplateExportParams params = new TemplateExportParams(
            "import/采购入库单.xlsx");
        FinSysTenantUser sysInfo = this.getSysInfo();
        String userName = sysInfo.getUserName();
        Map<String, Object> map = lWhFormProcureService.getExportList(id, userName);
        if (CollectionUtils.isEmpty(map)) {
            throw new RuntimeException("数据为空");
        }
        Workbook workbook = ExcelExportUtil.exportExcel(params, map);
        try (OutputStream outputStream = response.getOutputStream()) {
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
            response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("采购入库单.xls", "utf-8"));
            workbook.write(outputStream);
            workbook.close();
        }
    }
}
consum-base/src/main/java/com/consum/base/core/utils/MixType.java
New file
@@ -0,0 +1,44 @@
package com.consum.base.core.utils;
import java.util.HashMap;
import java.util.Map;
/**
 * @author asus
 * @version 1.0
 * @description: å‡ºå…¥åº“明细状态
 * @date 2023/11/14 16:19
 */
public class MixType {
    private final static Map<String, String> map = new HashMap<>();
    static {
        // å•据类型 1 é‡‡è´­2 è°ƒæ‹¨ 3出库4部门分发
        // 1=调增;2=调减
        //1采购入库
        map.put("1" + "1", "1");
        //2退还入库
        map.put("2" + "1", "2");
        //3调拨入库
        map.put("3" + "1", "3");
        //4盘盈入库
        map.put("7" + "1", "4");
        //5申领出库
        map.put("4" + "2", "5");
        //6调拨出库
        map.put("2" + "2", "6");
        //7盘亏出库
        map.put("7" + "2", "7");
        //8报废出库
        map.put("5" + "2", "8");
        //9其他出库
        map.put("3" + "2", "9");
    }
    public static String getMixType(String key) {
        return map.get(key);
    }
}
consum-base/src/main/java/com/consum/base/pojo/excel/TemplateExcelExport.java
New file
@@ -0,0 +1,32 @@
package com.consum.base.pojo.excel;
import lombok.Data;
/**
 * @author asus
 * @version 1.0
 * @description: å¯¼å‡ºè½¬æ¢å¯¹è±¡
 * @date 2023/11/27 15:31
 */
@Data
public class TemplateExcelExport {
    private String businessFormCode;
    private String tenantName;
    private String goodsName;
    private String goodsModeName;
    private Integer num;
    private Integer totalAmount;
    private String remark;
    private int price;
    private String warehouseName;
}
consum-base/src/main/java/com/consum/base/pojo/excel/רÏîÖ§³öÓÿîÉêÇëÊé_map.xls
Binary files differ
consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java
@@ -29,12 +29,23 @@
     * ç‰©å“æ¨¡ç‰ˆåç§°
     */
    @ApiModelProperty(value = "物品模版名称")
    private String goodsTempName;
    /**
     * ç‰©å“æ¨¡ç‰ˆåç§°
     */
    @ApiModelProperty(value = "物品模版id")
    private String goodsTemplateId;
    /**
     * ç‰©å“æ¨¡ç‰ˆåç§°
     */
    @ApiModelProperty(value = "物品模版名称")
    private String goodsName;
    /**
     * ç‰©å“æ¨¡ç‰ˆåç§°
     */
    @ApiModelProperty(value = "物品模版id")
    private String baseGoodsId;
    /**
     * æœºæž„
     */
@@ -55,6 +66,9 @@
     * ç”³é¢†å‡ºåº“ map.put("4" + "2", "7")
     */
    @ApiModelProperty(value = "1采购入库 2退还入库 3调拨入库 4盘盈入库 5申领出库 6调拨出库 7盘亏出库 8报废出库 9其他出库")
    private Integer flowType;
    @ApiModelProperty(value = "状态")
    private Integer states;
    /**
consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java
@@ -45,6 +45,6 @@
    private String agencyName;
    private String operatorName;
    private Long operatorTime;
    private Long warehouseFormCode;
    private String warehouseFormCode;
}
consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java
@@ -104,7 +104,7 @@
    private String departmentName;
    @ApiModelProperty(value = "电话")
    private String tel;
    private Long tel;
    private List<FormTransferGoodsVO> formTransferGoods;
}
consum-base/src/main/java/com/consum/base/pojo/response/OutAndInDetailVO.java
New file
@@ -0,0 +1,40 @@
package com.consum.base.pojo.response;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * @author asus
 * @version 1.0
 * @description: TODO
 * @date 2023/11/28 11:25
 */
@NoArgsConstructor
@Data
public class OutAndInDetailVO {
    @JsonProperty("id")
    private Long id;
    @JsonProperty("thisType")
    private Integer thisType;
    @JsonProperty("dealTime")
    private Long dealTime;
    @JsonProperty("totalPrice")
    private Integer totalPrice;
    @JsonProperty("businessFormCode")
    private String businessFormCode;
    @JsonProperty("baseGoodsModelsName")
    private String baseGoodsModelsName;
    @JsonProperty("businessType")
    private Integer businessType;
    @JsonProperty("thisCount")
    private Integer thisCount;
    @JsonProperty("operatorName")
    private String operatorName;
    @JsonProperty("agencyName")
    private String agencyName;
    @JsonProperty("goodsTemplateName")
    private String goodsTemplateName;
    private String mixType;
}
consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java
@@ -2,14 +2,20 @@
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.utils.MapRowMapper;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.core.utils.MixType;
import com.consum.base.core.utils.PageUtil;
import com.consum.base.pojo.LWarehouseFlowParam;
import com.consum.base.pojo.query.LWhFormOutputQry;
import com.consum.base.pojo.response.OutAndInDetailVO;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
/**
@@ -76,63 +82,6 @@
        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper());
    }
    public GenericPager<Map<String, Object>> queryBusinessFlowDetail(LWhFormOutputQry param) {
        StringBuilder sql = new StringBuilder(QUERY_BUSINESS_FLOW);
        Map<String, Object> paramts = new HashMap<>();
        if (StringUtils.isNotEmpty(param.getBusinessFormCode())) {
            sql.append("AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE=:businessFormCode"
                + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:businessFormCode END ");
            paramts.put("businessFormCode", param.getBusinessFormCode());
        }
        if (StringUtils.isNotEmpty(param.getGoodsName())) {
            sql.append("AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName ");
            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsName() + StringUtils.CHAR_PERCENT);
        }
        if (param.getBaseGoodsModelsId() != null) {
            sql.append("AND record.BASE_GOODS_MODELS_ID =:baseGoodsModelsId ");
            paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId());
        }
        if (param.getAgencyId() != null) {
            sql.append("AND tCaiGou.AGENCY_id=:agencyId ");
            paramts.put("agencyId", param.getAgencyId());
        }
        if (StringUtils.isNotEmpty(param.getCreateName())) {
            sql.append("AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUYER_NAME = :createdName"
                + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.OPERATOR_NAME = :createdName END ");
            paramts.put("createdName", param.getCreateName());
        }
        if (param.getStartTime() != null) {
            sql.append("and flow.DEAL_TIME >=:dealTimeStart ");
            paramts.put("dealTimeStart", param.getStartTime() * 1000000);
        }
        if (param.getEndTime() != null) {
            sql.append("and flow.DEAL_TIME <:dealTimeEnd ");
            paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000);
        }
        if (param.getStates() != null) {
            switch (param.getStates()) {
                case 1:
                    sql.append("and flow.BUSINESS_TYPE =:businessType");
                    break;
                case 2:
                    sql.append("and flow.FLOW_STATE = 2 ");
                    break;
                default:
                    sql.append("and flow.FLOW_STATE = 3 ");
            }
        }
//        if (param.getBusinessType() != null) {
//            sql.append(" and flow.BUSINESS_TYPE =:businessType");
//            paramts.put("businessType", param.getBusinessType());
//        }
        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
    }
    /**
     * å°è´¦æŸ¥è¯¢
@@ -255,7 +204,7 @@
    }
    public GenericPager<Map<String, Object>> queryAllBusinessFlow(LWhFormOutputQry param) {
    public PageUtil queryAllBusinessFlow(LWhFormOutputQry param) {
        StringBuilder sql = new StringBuilder("SELECT\n"
            + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.id \n"
            + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4 OR flow.BUSINESS_TYPE=6) THEN tTrans.id \n"
@@ -302,13 +251,13 @@
        }
        //物品名称
        if (StringUtils.isNotEmpty(param.getGoodsName())) {
        if (StringUtils.isNotEmpty(param.getGoodsTempName())) {
            sql.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName");
            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsName() + StringUtils.CHAR_PERCENT);
            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTempName() + StringUtils.CHAR_PERCENT);
        }
        if (param.getBaseGoodsId() != null) {
            sql.append(" AND record.BASE_GOODS_TEMPLATE_ID=:goodsTemplateId");
            paramts.put("goodsTemplateId", param.getBaseGoodsId());
        if (param.getGoodsTemplateId() != null) {
            sql.append(" AND record.BASE_GOODS_TEMPLATE_ID =:goodsTemplateId");
            paramts.put("goodsTemplateId", param.getGoodsTemplateId());
        }
        //规格型号
        if (param.getBaseGoodsModelsId() != null) {
@@ -316,7 +265,7 @@
            paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId());
        }
        // åŒç è¡¨ï¼Œ1采购入库 2退还入库 3调拨入库 4盘盈入库 5申领出库 6调拨出库 7盘亏出库 8报废出库 9其他出库
        Integer flowType = param.getStates();
        Integer flowType = param.getFlowType();
        if (flowType != null) {
            Map<String, Short> typeByFlowType = WhBusinessEnum.getTypeByFlowType(flowType.shortValue());
            //本次调整类型(1=调增;2=调减)
@@ -353,6 +302,18 @@
            paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000);
        }
        sql.append(" ORDER BY record.DEAL_TIME desc,record.id DESC ");
        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
        GenericPager<Map<String, Object>> mapGenericPager = selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
        PageUtil pageUtil = new PageUtil(mapGenericPager);
        List<OutAndInDetailVO> result = Lists.newArrayList();
        mapGenericPager.getDatas().forEach(map -> {
            OutAndInDetailVO outAndInDetailVO = MapUtils.convertMapToObj(map, OutAndInDetailVO.class);
            Integer thisType = outAndInDetailVO.getThisType();
            Integer businessType = outAndInDetailVO.getBusinessType();
            String mixType = MixType.getMixType(businessType + "" + thisType);
            outAndInDetailVO.setMixType(mixType);
            result.add(outAndInDetailVO);
        });
        pageUtil.setDatas(result);
        return pageUtil;
    }
}
consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
@@ -5,10 +5,12 @@
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.param.BaseWarehouseParam1;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.pojo.LWFormsOutputGoodsInfoParam;
import com.consum.base.pojo.LWFormsOutputGoodsModelParam;
import com.consum.base.pojo.LWhFormOutputParam;
import com.consum.base.pojo.excel.TemplateExcelExport;
import com.consum.base.pojo.query.LWhFormOutputQry;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseWarehouse;
@@ -17,13 +19,17 @@
import com.consum.model.po.LWhProcureModel;
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.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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -225,4 +231,53 @@
    }
    public Map<String, Object> getExportList(Long id, String userName) {
        String sql = "SELECT\n"
            + "\tfo.BUSINESS_FORM_CODE,\n"
            + "\tfo.AGENCY_NAME tenantName,\n"
            + "\tGOODS_NAME goodsName,\n"
            + "\tpm.BASE_GOODS_MODELS_NAME goodsModeName,\n"
            + "\tcounts num,\n"
            + "\ttotal_amount totalAmount,\n"
            + "\tBEIZ remark\n"
            + "FROM\n"
            + "\tl_wh_procure_model pm\n"
            + "\tLEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id\n"
            + "\tLEFT JOIN base_goods_template bgt ON bgm.GOODS_TEMPLATES_ID = bgt.id\n"
            + "\tLEFT JOIN l_wh_form_output fo ON fo.ID = pm.BUSINESS_ID\n"
            + "WHERE\n"
            + "\tpm.BUSINESS_ID = :id";
        Map<String, Object> param = new HashMap<>();
        param.put("id", id);
        List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
        if (CollectionUtils.isEmpty(select)) {
            return null;
        }
        List<TemplateExcelExport> list = Lists.newArrayList();
        select.forEach(item -> {
            TemplateExcelExport templateExcelExport = MapUtils.convertMapToObj(item, TemplateExcelExport.class);
            templateExcelExport.setTenantName(StringUtils.isNotEmpty(templateExcelExport.getTenantName()) ? templateExcelExport.getTenantName() : "");
            templateExcelExport.setRemark(StringUtils.isNotEmpty(templateExcelExport.getRemark()) ? templateExcelExport.getRemark() : "");
            templateExcelExport.setTotalAmount(templateExcelExport.getTotalAmount() == null ? 0 : templateExcelExport.getTotalAmount());
            templateExcelExport.setNum(templateExcelExport.getNum() == null ? 0 : templateExcelExport.getNum());
            list.add(templateExcelExport);
        });
        int sum = list.stream().filter(item -> item.getNum() != null).mapToInt(TemplateExcelExport::getNum).sum();
        int totalAmount = list.stream().filter(export -> export.getTotalAmount() != null).mapToInt(TemplateExcelExport::getTotalAmount).sum();
        Optional<TemplateExcelExport> first = list.stream().findFirst();
        TemplateExcelExport templateExcelExport = first.get();
        String businessFormCode = templateExcelExport.getBusinessFormCode();
        String dateForHuman = DateUtils.getDateForHuman(System.currentTimeMillis());
        Map<String, Object> map = new HashMap<>();
        map.put("code", businessFormCode);
        map.put("date", dateForHuman);
        map.put("name", userName);
        map.put("sum", sum);
        map.put("totalAmount", totalAmount);
        map.put("data", list);
        return map;
    }
}
consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java
@@ -1,14 +1,21 @@
package com.consum.base.service;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.core.utils.PageUtil;
import com.consum.base.pojo.excel.TemplateExcelExport;
import com.consum.base.pojo.query.FormProcureQry;
import com.consum.model.po.LWhFormProcure;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
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.stereotype.Service;
/**
@@ -113,4 +120,55 @@
    }
    public Map<String, Object> getExportList(Long id, String userName) {
        String sql = "SELECT\n"
            + "\tfp.BUSINESS_FORM_CODE,\n"
            + "\tfp.AGENCY_NAME tenantName,\n"
            + "\tGOODS_NAME goodsName,\n"
            + "\tpm.BASE_GOODS_MODELS_NAME goodsModeName,\n"
            + "\tcounts num,\n"
            + "\tprice,\n"
            + "\ttotal_amount totalAmount,\n"
            + "\tWAREHOUSE_NAME,\n"
            + "\tBEIZ remark\n"
            + "FROM\n"
            + "\tl_wh_procure_model pm\n"
            + "\tLEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id\n"
            + "\tLEFT JOIN base_goods_template bgt ON bgm.GOODS_TEMPLATES_ID = bgt.id\n"
            + "\tLEFT JOIN l_wh_form_procure fp ON fp.ID = pm.BUSINESS_ID\n"
            + "WHERE\n"
            + "\tpm.BUSINESS_ID = :id";
        Map<String, Object> param = new HashMap<>();
        param.put("id", id);
        List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
        if (CollectionUtils.isEmpty(select)) {
            return null;
        }
        List<TemplateExcelExport> list = Lists.newArrayList();
        select.forEach(item -> {
            TemplateExcelExport templateExcelExport = MapUtils.convertMapToObj(item, TemplateExcelExport.class);
            templateExcelExport.setTotalAmount(templateExcelExport.getTotalAmount() == null ? 0 : templateExcelExport.getTotalAmount());
            templateExcelExport.setNum(templateExcelExport.getNum() == null ? 0 : templateExcelExport.getNum());
            templateExcelExport.setTenantName(StringUtils.isNotEmpty(templateExcelExport.getTenantName()) ? templateExcelExport.getTenantName() : "");
            templateExcelExport.setRemark(StringUtils.isNotEmpty(templateExcelExport.getRemark()) ? templateExcelExport.getRemark() : "");
            list.add(templateExcelExport);
        });
        int sum = list.stream().filter(item -> item.getNum() != null).mapToInt(TemplateExcelExport::getNum).sum();
        int totalAmount = list.stream().filter(export -> export.getTotalAmount() != null).mapToInt(TemplateExcelExport::getTotalAmount).sum();
        Optional<TemplateExcelExport> first = list.stream().findFirst();
        TemplateExcelExport templateExcelExport = first.get();
        String businessFormCode = templateExcelExport.getBusinessFormCode();
        String dateForHuman = DateUtils.getDateForHuman(System.currentTimeMillis());
        Map<String, Object> map = new HashMap<>();
        map.put("code", businessFormCode);
        map.put("date", dateForHuman);
        map.put("name", userName);
        map.put("sum", sum);
        map.put("totalAmount", totalAmount);
        map.put("data", list);
        return map;
    }
}
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -124,13 +124,13 @@
            //从当前登录库管人从库中出库,入到所选部门的下
            //查询库管员信息和相关仓库
            Long id = sysInfo.getSysUserId();
            Long id = sysInfo.getId();
            BaseWarehouseManager manager = new BaseWarehouseManager();
            manager.setManagerId(id);
            List<BaseWarehouseManager> managerList = baseWarehouseManagerService.select(manager);
            if (CollectionUtils.isEmpty(managerList)) {
                log.error("库管员不存在");
                throw new Exception("库管员不存在");
                log.error("该用户不是库管员");
                throw new Exception("该用户不是库管员");
            }
            Optional<BaseWarehouseManager> first = managerList.stream().findFirst();
            if (first.isPresent()) {
@@ -331,6 +331,7 @@
        LWhFormTransfer lWhFormTransfer = this.get(new LWhFormTransfer(id));
        if (lWhFormTransfer != null) {
            BeanUtils.copyProperties(lWhFormTransfer, result);
            result.setDepartmentName(lWhFormTransfer.getInWarehouseName());
        }
        String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type "
@@ -377,8 +378,6 @@
                        });
                        goodsModelVO.setUseInfo(departGoodsUseInfoList);
                    }
                    // TODO éƒ¨é—¨åç§°
//                result.setDepartmentName();
                }
                goodsModelVOList.add(goodsModelVO);
@@ -447,9 +446,10 @@
        HashMap<String, Object> paramts = new HashMap<>();
        StringBuilder sql = new StringBuilder(
            "SELECT ft.id,ft.BUSINESS_FORM_CODE,bgt.GOODS_NAME,bgt.CLASSIFICATION type,bgm.id goodsModelId,bgm.MODEL_NAME goodsModelName,pm.COUNTS goodsCount,fst.`name` tenantName,"
                + "fstd.NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME FROM l_wh_form_transfer ft "
                + "ft.IN_WAREHOUSE_NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME,ft.OPERATOR_NAME FROM l_wh_form_transfer ft "
                + "inner JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID " + "inner JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID "
                + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID "
                + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID "
                + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID "
                + "inner JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID "
                + "inner JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where ft.BUSINESS_TYPE =1 ");
        //单号
deploy-jar-single/src/main/resources/import/²É¹ºÈë¿âµ¥.xls
Binary files differ
deploy-jar-single/src/main/resources/import/²É¹ºÈë¿âµ¥.xlsx
Binary files differ
deploy-jar-single/src/main/resources/import/²É¹ºÍË»õµ¥.xls
Binary files differ
deploy-jar-single/src/main/resources/import/²É¹ºÍË»õµ¥.xlsx
Binary files differ