From ae0388b62dcb7576674b8486395eab7b286befce Mon Sep 17 00:00:00 2001
From: 姜友瑶 <935090232@qq.com>
Date: Wed, 15 Jun 2022 12:22:46 +0800
Subject: [PATCH] fead:库存流向记录新增原单号和会员显示
---
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java | 2
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 1
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 21 +++
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml | 24 ++++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java | 5
zq-erp/src/main/java/com/matrix/system/hive/pojo/StoreInOutRecordVO.java | 183 +++--------------------------
zq-erp/src/main/resources/mybatis/mapper/hive/SysStoreInfoDao.xml | 8 +
zq-erp/src/main/java/com/matrix/system/hive/action/StoreInOutController.java | 71 ++++++++++-
zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java | 3
zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java | 2
zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/store-inout-sum.html | 2
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 8 +
12 files changed, 158 insertions(+), 172 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());
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
index 22ef160..ec8828a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
@@ -36,6 +36,8 @@
public SysOrder selectById(Long id);
+ public List<SysOrder> selectByIds(@Param("list")List<Long> ids);
+
public int selectInPageCount(@Param("record") SysOrder sysOrder);
public void updateOrderTime(@Param("payTime") Date orderTime, @Param("id") Long id);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
index 588612c..9c7955f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
@@ -9,7 +9,6 @@
import com.matrix.system.shopXcx.api.vo.ErpServiceOrderListVo;
import org.apache.ibatis.annotations.Param;
-import java.util.Date;
import java.util.List;
@@ -71,4 +70,6 @@
int updateNoticeTimes(@Param("list")List<Long> noticedIds);
List<SysProjServices> selectProjServicesByOrderItemId(@Param("itemId") Long itemId);
+
+ List<SysProjServices> selectByIds(@Param("list")List<Long> ids);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/pojo/StoreInOutRecordVO.java b/zq-erp/src/main/java/com/matrix/system/hive/pojo/StoreInOutRecordVO.java
index 3e84fff..a5457fc 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/pojo/StoreInOutRecordVO.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/pojo/StoreInOutRecordVO.java
@@ -1,8 +1,8 @@
package com.matrix.system.hive.pojo;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.matrix.core.pojo.EntityDTO;
import com.matrix.core.tools.DateUtil;
+import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -11,7 +11,18 @@
* 库存出入库明细
* @author JYY
*/
+@Data
public class StoreInOutRecordVO {
+
+ /**
+ * 服务单id
+ */
+ private Long serviceId;
+
+ /**
+ * 订单id
+ */
+ private Long orderId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date createTime;
@@ -44,6 +55,16 @@
* 单据编号
*/
private String orderNo;
+
+ /**
+ * 原单据号
+ */
+ private String sourceOrderNo;
+ /**
+ * 客户姓名
+ */
+ private String vipName;
+
/**
* 单据类型
*/
@@ -86,165 +107,5 @@
private Long id;
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getCode() {
- return code;
- }
-
- public void setCode(String code) {
- this.code = code;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
-
- public String getTypeName() {
- return typeName;
- }
-
- public void setTypeName(String typeName) {
- this.typeName = typeName;
- }
-
- public Double getAmount() {
- return amount;
- }
-
- public void setAmount(Double amount) {
- this.amount = amount;
- }
-
- public Double getGoodsPrice() {
- return goodsPrice;
- }
-
- public void setGoodsPrice(Double goodsPrice) {
- this.goodsPrice = goodsPrice;
- }
-
- public Double getTotalPrice() {
- return totalPrice;
- }
-
- public void setTotalPrice(Double totalPrice) {
- this.totalPrice = totalPrice;
- }
-
- public String getOrderNo() {
- return orderNo;
- }
-
- public void setOrderNo(String orderNo) {
- this.orderNo = orderNo;
- }
-
- public String getOrderType() {
- return orderType;
- }
-
- public void setOrderType(String orderType) {
- this.orderType = orderType;
- }
-
- public String getBatch() {
- return batch;
- }
-
- public void setBatch(String batch) {
- this.batch = batch;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- public String getShopName() {
- return shopName;
- }
-
- public void setShopName(String shopName) {
- this.shopName = shopName;
- }
-
- public String getRemark() {
- return remark;
- }
-
- public void setRemark(String remark) {
- this.remark = remark;
- }
-
-
- public Date getEndTime() {
- return endTime;
- }
-
- public void setEndTime(Date endTime) {
- this.endTime = endTime;
- }
-
- public Long getShopId() {
- return shopId;
- }
-
- public void setShopId(Long shopId) {
- this.shopId = shopId;
- }
-
- public Long getUserId() {
- return userId;
- }
-
- public void setUserId(Long userId) {
- this.userId = userId;
- }
-
- public Date getBeginTime() {
- return beginTime;
- }
-
- public void setBeginTime(Date beginTime) {
- this.beginTime = beginTime;
- }
-
- public Long getGoodsSortId() {
- return goodsSortId;
- }
-
- public void setGoodsSortId(Long goodsSortId) {
- this.goodsSortId = goodsSortId;
- }
-
- public Long getCompanyId() {
- return companyId;
- }
-
- public void setCompanyId(Long companyId) {
- this.companyId = companyId;
- }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index 5f21562..177ca3d 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -145,4 +145,5 @@
BigDecimal findVipArrearsByVipId(Long vipId);
+ List<SysOrder> findByIds(List<Long> orderIds);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java
index 6383e2d..224b2cd 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java
@@ -62,6 +62,8 @@
*/
public SysProjServices findById(Long id);
+ public List<SysProjServices> findByIds(List<Long> id);
+
/**
* 排班
*/
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 2649313..adbb31c 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -183,11 +183,17 @@
}
@Override
- public SysOrder findById(Long id) {
+ public SysOrder findById(Long id) {
return sysOrderDao.selectById(id);
}
+ @Override
+ public List<SysOrder> findByIds(List<Long> ids) {
+ return sysOrderDao.selectByIds(ids);
+
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
index 2cc0337..048b4a8 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -341,7 +341,12 @@
return sysProjServicesDao.selectById(id);
}
+ @Override
+ public List<SysProjServices> findByIds(List<Long> ids) {
+ return sysProjServicesDao.selectByIds(ids);
+
+ }
/**
* TODO 做成配置项目 校验服务单中的项目是否存在欠款
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
index eb2c3aa..c7df75e 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -360,6 +360,27 @@
where a.id=#{id}
</select>
+ <!-- 根据id查询 -->
+ <select id="selectByIds" resultMap="SysOrderMap">
+ select
+ a.*,
+ c.su_name as STAFF_NAME, e.su_name as cashierName,
+ d.SHOP_NAME,
+ d.shop_short_name,
+ b.PHONE,
+ b.VIP_NAME
+ from sys_order a
+ LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
+ left JOIN sys_users c on c.su_id=a.STAFF_ID
+ left JOIN sys_users e on e.su_id=a.cashier_id
+ left JOIN sys_shop_info d on d.ID=a.SHOP_ID
+ where a.id in
+ <foreach collection="list" index="index" item="item" open="("
+ separator="," close=")">
+ #{item}
+ </foreach>
+ </select>
+
<!-- 根据对象查询 -->
<select id="selectByModel" resultMap="SysOrderMap">
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
index ac6c675..30b5c74 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
@@ -446,6 +446,30 @@
where a.ID=#{id}
</select>
+ <!-- 根据id查询-->
+ <select id="selectByIds" resultMap="SysProjServicesMap">
+ select distinct
+ a.*,
+ b.PHONE ,
+ b.VIP_Name ,
+ b.VIP_NO,
+ (select su_name from sys_users f where a.CREATE_STAFF_ID=f.su_id ) as createStaffName,
+ (select su_name from sys_users j where a.BEAUTICIAN_ID=j.su_id ) as beautiName,
+ (select su_name from sys_users k where a.devision_id=k.su_id ) as plsName,
+ (select su_name from sys_users l where a.cashier_id=l.su_id ) as cashierName,
+ (select shop_name from sys_shop_info h where a.SHOP_ID=h.ID ) as shopName,
+ (select bed_name from sys_bed_info i where a.BED_ID=i.ID ) as bedName
+ FROM sys_proj_services a
+ LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
+ left join sys_beautician_state c on a.id=c.SERVICES_ID
+ where a.ID in
+ <foreach collection="list" index="index" item="item" open="("
+ separator="," close=")">
+ #{item}
+ </foreach>
+ </select>
+
+
<select id="selectNeedNoticeService" resultMap="SysProjServicesMap">
select
a.id,
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysStoreInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysStoreInfoDao.xml
index 6bafe6f..f93a4cf 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysStoreInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysStoreInfoDao.xml
@@ -679,7 +679,9 @@
b.remark,
b.TYPE AS orderType ,
c.su_name as userName,
- d.SHOP_NAME as shopName
+ d.SHOP_NAME as shopName,
+ b.SERVICE_ID as serviceId,
+ b.ORDER_ID as orderId
FROM
sys_out_store_item a
LEFT JOIN sys_out_store b ON a.OUT_STORE_ID = b.id
@@ -731,7 +733,9 @@
t2_b.remark,
t2_b.instore_type,
t2_c.su_name,
- t2_d.SHOP_NAME
+ t2_d.SHOP_NAME,
+ '' as serviceId,
+ '' as orderId
FROM
sys_instore_detail t2_a
LEFT JOIN sys_instore_info t2_b ON t2_a.INSTORE_ID = t2_b.id
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/store-inout-sum.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/store-inout-sum.html
index 76493a9..869ea1c 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/store-inout-sum.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/store-inout-sum.html
@@ -84,6 +84,8 @@
<th data-field="amount" data-footer-formatter="countColumn">出库数量</th>
<th data-field="goodsPrice" >出库单价</th>
<th data-field="totalPrice" data-footer-formatter="countColumn">出库金额</th>
+ <th data-field="sourceOrderNo">来源单据</th>
+ <th data-field="vipName">下单客户</th>
<th data-field="orderNo">单据编号</th>
<th data-field="orderType">单据类型</th>
<th data-field="batch">库存批次</th>
--
Gitblit v1.9.1