From 99091a8cbb8e098575c75a7c640b568addbcc29d Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Sun, 09 Oct 2022 21:41:13 +0800 Subject: [PATCH] Merge branch 'score_shop' --- zq-erp/src/main/java/com/matrix/system/hive/action/StoreInOutController.java | 71 ++++++++++++++++++++++++++++++++--- 1 files changed, 64 insertions(+), 7 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/StoreInOutController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/StoreInOutController.java index 8245e54..8329252 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/action/StoreInOutController.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/action/StoreInOutController.java @@ -1,18 +1,20 @@ package com.matrix.system.hive.action; +import cn.hutool.core.collection.CollUtil; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.excl.ExcelSheetPO; import com.matrix.core.tools.excl.ExcelVersion; -import com.matrix.system.common.tools.DataAuthUtil; import com.matrix.system.common.tools.ResponseHeadUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.action.util.QueryUtil; -import com.matrix.system.hive.bean.SysCheckInfo; +import com.matrix.system.hive.bean.SysOrder; +import com.matrix.system.hive.bean.SysProjServices; import com.matrix.system.hive.dao.SysStoreInfoDao; -import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.pojo.StoreInOutRecordVO; +import com.matrix.system.hive.service.SysOrderService; +import com.matrix.system.hive.service.SysProjServicesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -23,10 +25,10 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; -import java.net.URLDecoder; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** @@ -42,6 +44,12 @@ @Autowired SysStoreInfoDao storeInfoDao; + @Autowired + SysOrderService orderService; + + @Autowired + SysProjServicesService projServicesService; + /** * 列表显示 */ @@ -50,9 +58,52 @@ AjaxResult showList(StoreInOutRecordVO inOutRecordVO, PaginationVO pageVo) { QueryUtil.setQueryLimitCom(inOutRecordVO); List<StoreInOutRecordVO> dataList =storeInfoDao.findStoreInOutRecord(inOutRecordVO,pageVo); + + //原始订单号赋值 + setExtInfo(dataList); + return AjaxResult.buildSuccessInstance(dataList,storeInfoDao.findStoreInOutTotal(inOutRecordVO)); } + /** + * 填充扩展信息 + * @param dataList + */ + private void setExtInfo(List<StoreInOutRecordVO> dataList) { + List<Long> serviceIds = dataList.stream().map(StoreInOutRecordVO::getServiceId).filter(e -> Objects.nonNull(e)).collect(Collectors.toList()); + List<Long> orderIds = dataList.stream().map(StoreInOutRecordVO::getOrderId).filter(e -> Objects.nonNull(e)).collect(Collectors.toList()); + List<SysOrder> orderList = orderService.findByIds(orderIds); + Map<String, SysOrder> orderMap=new HashMap<>(); + Map<String, SysProjServices> serviceMap=new HashMap<>(); + if(CollUtil.isNotEmpty(orderList)){ + orderMap = orderList.stream().collect(Collectors.toMap(e->String.format("%s_%s",e.getId(),"DD"), Function.identity(), (a, b) -> a)); + } + List<SysProjServices> projServicesList = projServicesService.findByIds(serviceIds); + if(CollUtil.isNotEmpty(projServicesList)){ + serviceMap= projServicesList.stream().collect(Collectors.toMap(e->String.format("%s_%s",e.getId(),"FWD"), Function.identity(), (a, b) -> a)); + } + if(orderMap.size()>0){ + for (StoreInOutRecordVO e : dataList){ + if(Objects.nonNull(e.getOrderId())){ + SysOrder order = orderMap.get(String.format("%s_%s", e.getOrderId(), "DD")); + if(Objects.nonNull(order)){ + e.setSourceOrderNo(order.getOrderNo() ); + e.setVipName(order.getVipName()); + } + } + if(Objects.nonNull(e.getServiceId())){ + SysProjServices sysProjServices = serviceMap.get(String.format("%s_%s", e.getServiceId(), "FWD")); + if(Objects.nonNull(sysProjServices)){ + e.setSourceOrderNo( sysProjServices.getServiceNo()); + e.setVipName(sysProjServices.getVipName()); + } + } + } + + + + } + } /** @@ -77,13 +128,17 @@ String title = "库存流向明细"; orderSheet.setSheetName(title); orderSheet.setTitle(title); - String[] header = {"时间", "产品编码", "商品名称", "库存分类", "出库数量", "出库单价", "出库金额", "单据编号", "单据类型", "库存批次", "操作人", "单据备注", "门店"}; + String[] header = {"时间", "产品编码", "商品名称", "库存分类", "出库数量", "出库单价", "出库金额", "来源单据", "下单客户", "单据编号", "单据类型", "库存批次", "操作人", "单据备注", "门店"}; orderSheet.setHeaders(header); if (getMe().getShopRole().equals(Dictionary.FLAG_NO_N)) { inOutRecordVO.setShopId(getMe().getShopId()); } List<StoreInOutRecordVO> dataList =storeInfoDao.findStoreInOutRecord(inOutRecordVO,null); + + //原始订单号赋值 + setExtInfo(dataList); + List<List<Object>> list = new ArrayList<>(); if (dataList.size() > 0) { for (StoreInOutRecordVO item : dataList) { @@ -96,6 +151,8 @@ temp.add(item.getAmount()); temp.add(item.getGoodsPrice()); temp.add(item.getTotalPrice()); + temp.add(item.getSourceOrderNo()); + temp.add(item.getVipName()); temp.add(item.getOrderNo()); temp.add(item.getOrderType()); temp.add(item.getBatch()); -- Gitblit v1.9.1