From c540d1f16d86a0391f9a51ee505ce6866e20ffbd Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 24 Dec 2020 17:00:44 +0800
Subject: [PATCH] finish order detail and goods detail
---
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 | 2
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 20 ++++++
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java | 33 +++++++++++
zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java | 7 ++
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 9 +++
zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java | 5 +
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java | 4 +
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java | 3 +
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 25 ++++++++
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml | 14 ++++
11 files changed, 121 insertions(+), 3 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
index f712eeb..2d01e4c 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
@@ -138,7 +138,10 @@
})
@GetMapping(value = "/findOrderDetail/{orderId}")
public AjaxResult findOrderDetail(@PathVariable("orderId") Long orderId) {
- return null;
+ OrderDetailVo orderDetail = sysOrderService.findApiOrderDetailByOrderId(orderId);
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+ ajaxResult.putInMap("orderDetail", orderDetail);
+ return ajaxResult;
}
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java
index b9c801a..6fb4768 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java
@@ -13,6 +13,9 @@
@ApiModel(value = "OrderDetailItemVo", description = "订单详情明细表")
public class OrderDetailItemVo {
+ @ApiModelProperty(value = "id")
+ private Long id;
+
@ApiModelProperty(value = "商品名称")
private String goodsName;
@@ -25,14 +28,28 @@
@ApiModelProperty(value = "储值卡支付")
private BigDecimal cardPay;
+ @ApiModelProperty(value = "欠款")
+ private BigDecimal arrears;
+
@ApiModelProperty(value = "原价")
private BigDecimal price;
@ApiModelProperty(value = "折扣价格")
private BigDecimal zkPrice;
+ @ApiModelProperty(value = "支付状态")
+ private String status;
+
@ApiModelProperty(value = "订单业绩")
private List<OrderDetailAchieveItemVo> achieves;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
public List<OrderDetailAchieveItemVo> getAchieves() {
return achieves;
@@ -89,4 +106,20 @@
public void setZkPrice(BigDecimal zkPrice) {
this.zkPrice = zkPrice;
}
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public BigDecimal getArrears() {
+ return arrears;
+ }
+
+ public void setArrears(BigDecimal arrears) {
+ this.arrears = arrears;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java
index 731c77f..ae87478 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ShoppingGoodsListVo.java
@@ -1,5 +1,6 @@
package com.matrix.system.app.vo;
+import com.matrix.system.hive.bean.ShoppingGoods;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -84,7 +85,11 @@
}
public void setIsPresent(String isPresent) {
- this.isPresent = isPresent;
+ if ("是".equals(isPresent)) {
+ this.isPresent = "1";
+ } else {
+ this.isPresent = "0";
+ }
}
public String getUnit() {
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
index 1d54ac9..ea162f3 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
@@ -5,6 +5,7 @@
import java.util.Map;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
import com.matrix.system.app.vo.UserAchieveVo;
import com.matrix.system.hive.bean.AchieveNew;
import org.apache.ibatis.annotations.Param;
@@ -59,5 +60,6 @@
int selectVipConsumeStatisticsTotal(@Param("record") AchieveNew achieveNew);
UserAchieveVo selectUserAchieveByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("userId") Long userId);
-
+
+ List<OrderDetailAchieveItemVo> selectApiOrderItemAchieve(@Param("itemId") Long itemId);
}
\ No newline at end of file
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 1010b93..8320974 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
@@ -41,4 +41,6 @@
List<OrderDetailVo> selectApiOrderListInPage(@Param("record") OrderListDto orderListDto, @Param("pageVo") PaginationVO pageVo);
int selectApiOrderListTotal(@Param("record") OrderListDto orderListDto);
+
+ OrderDetailVo selectApiOrderDetailById(@Param("orderId") Long orderId);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java
index 32dd90e..2ff8371 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java
@@ -1,6 +1,7 @@
package com.matrix.system.hive.dao;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.vo.OrderDetailItemVo;
import com.matrix.system.hive.bean.SysOrderItem;
import org.apache.ibatis.annotations.Param;
@@ -58,4 +59,6 @@
public int deleteByOrderId(Long id);
+
+ List<OrderDetailItemVo> selectApiOrderDetailItemsByOrderId(@Param("orderId") Long orderId);
}
\ No newline at end of file
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 3fc886b..a3af416 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
@@ -134,4 +134,6 @@
List<OrderDetailVo> findApiOrderListInPage(OrderListDto orderListDto, PaginationVO pageVo);
int findApiOrderListTotal(OrderListDto orderListDto);
+
+ OrderDetailVo findApiOrderDetailByOrderId(Long orderId);
}
\ No newline at end of file
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 d03e648..250b154 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
@@ -7,6 +7,8 @@
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.OrderListDto;
+import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
+import com.matrix.system.app.vo.OrderDetailItemVo;
import com.matrix.system.app.vo.OrderDetailVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
@@ -80,6 +82,9 @@
@Autowired
private AchieveNewService achieveNewService;
+
+ @Autowired
+ private AchieveNewDao achieveNewDao;
@Autowired
private WarehouseDao warehouseDao;
@@ -1225,4 +1230,24 @@
public int findApiOrderListTotal(OrderListDto orderListDto) {
return sysOrderDao.selectApiOrderListTotal(orderListDto);
}
+
+ @Override
+ public OrderDetailVo findApiOrderDetailByOrderId(Long orderId) {
+ OrderDetailVo orderDetail = sysOrderDao.selectApiOrderDetailById(orderId);
+
+ if (orderDetail == null) {
+ throw new GlobleException("该订单不存在");
+ }
+
+ List<OrderDetailItemVo> items = orderItemDao.selectApiOrderDetailItemsByOrderId(orderId);
+ if (CollectionUtils.isNotEmpty(items)) {
+ for (OrderDetailItemVo item : items) {
+ List<OrderDetailAchieveItemVo> achieveItems = achieveNewDao.selectApiOrderItemAchieve(item.getId());
+ item.setAchieves(achieveItems);
+ }
+ }
+
+ orderDetail.setItems(items);
+ return orderDetail;
+ }
}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
index ebe9c0b..b837123 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -939,4 +939,13 @@
where sale_id=#{userId}
and (date_format(datatime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(datatime, '%Y-%m-%d'))
</select>
+
+ <select id="selectApiOrderItemAchieve" resultType="com.matrix.system.app.vo.OrderDetailAchieveItemVo">
+ select
+ b.su_name name,
+ IFNULL(a.card_cash, 0) + IFNULL(a.proj_cash, 0) + IFNULL(a.goods_cash, 0) achieve
+ from achieve_new a
+ inner join sys_users b on a.beault_id=b.su_id
+ where a.order_item_id=#{itemId}
+ </select>
</mapper>
\ No newline at end of file
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 1e7f288..043b37b 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -529,4 +529,24 @@
</if>
</where>
</select>
+
+ <select id="selectApiOrderDetailById" resultType="com.matrix.system.app.vo.OrderDetailVo">
+ select
+ a.id orderId,
+ b.VIP_NAME vipName,
+ b.PHONE phone,
+ a.ORDER_NO orderNo,
+ c.su_name staffName,
+ a.cash_Pay cashPay,
+ a.card_Pay cardPay,
+ a.ZK_TOTAL needPay,
+ a.card_Pay + a.card_Pay realPay,
+ a.arrears arrears,
+ a.TOTAL - a.ZK_TOTAL discount,
+ a.STATU orderStatus
+ from sys_order a
+ inner join sys_vip_info b on a.VIP_ID=b.ID
+ left join sys_users c on a.STAFF_ID=c.su_id
+ where a.id=#{orderId}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml
index 208e3ec..656ad77 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml
@@ -519,5 +519,19 @@
group by c.id ,f.id) t
</select>
+ <select id="selectApiOrderDetailItemsByOrderId" resultType="com.matrix.system.app.vo.OrderDetailItemVo">
+ select
+ a.id id,
+ b.name goodsName,
+ a.COUNT count,
+ a.cash_Pay cashPay,
+ a.card_Pay cardPay,
+ a.PRICE price,
+ a.ZK_PRICE zkPrice,
+ a.status status
+ from sys_order_item a
+ inner join shopping_goods b on a.goods_id=b.id
+ where a.ORDER_ID=#{orderId};
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1