From 7bb22e67688232190a00ee3e63b5b93ea6037273 Mon Sep 17 00:00:00 2001 From: 姜友瑶 <935090232@qq.com> Date: Wed, 15 Jun 2022 12:23:13 +0800 Subject: [PATCH] Merge branch 'developer' --- 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 4e47ea7..4228c40 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