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