zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -80,6 +80,9 @@ @Autowired private SysVipInfoService sysVipInfoService; @Autowired private SysOrderFlowService sysOrderFlowService; /** * 计算订单金额 @@ -376,18 +379,24 @@ SysVipInfo vipInfo = sysVipInfoService.findById(order.getVipId()); // 根据会员Id查到会员有效的会员卡 // 根据订单号查找订单条目 SysOrderItem orderItem = new SysOrderItem(); orderItem.setOrderId(order.getId()); List<SysOrderItem> orderItems = orderItemService.findByModel(orderItem); List<SysOrderItem> orderItems = orderItemService.findByOrderId(order.getId()); MoneyCardUse moneyCardUse = new MoneyCardUse(); moneyCardUse.setVipId(order.getVipId()); List<MoneyCardUse> cards = cardUseService.findByModel(moneyCardUse); List<SysOrderFlow> flows = sysOrderFlowService.findByOrderId(order.getId()); order.setFlows(flows); List<SysOrderFlow> payMethods = sysOrderFlowService.findPayMethodsAmount(order.getId()); List<AchieveNew> achieveList = achieveNewService.findOrderItemAchieve(order.getId()); WebUtil.getRequest().setAttribute("orderItems", orderItems); WebUtil.getRequest().setAttribute("order", order); WebUtil.getRequest().setAttribute("cards", cards); WebUtil.getRequest().setAttribute("vipInfo", vipInfo); WebUtil.getRequest().setAttribute("payMethods", payMethods); WebUtil.getRequest().setAttribute("achieveList", achieveList); return "admin/hive/beautySalon/orderXq-form"; } zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java
@@ -164,8 +164,11 @@ private String t2; /** * 业绩种类 1-现金业绩 2-划扣业绩 */ private String t3; @@ -254,6 +257,26 @@ @Extend private Double achieveMoney; private String goodsNo; private String goodsName; public String getGoodsNo() { return goodsNo; } public void setGoodsNo(String goodsNo) { this.goodsNo = goodsNo; } public String getGoodsName() { return goodsName; } public void setGoodsName(String goodsName) { this.goodsName = goodsName; } public Integer getArriveCnt() { return arriveCnt; } zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
@@ -134,6 +134,8 @@ private String staffName; private String shopName; private String shopShortName; private Long searchShop; /** @@ -173,6 +175,14 @@ this.flows = flows; } public String getShopShortName() { return shopShortName; } public void setShopShortName(String shopShortName) { this.shopShortName = shopShortName; } public String getType() { return type; } zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java
@@ -52,6 +52,16 @@ private String isGift; private String orderNo; public String getOrderNo() { return orderNo; } public void setOrderNo(String orderNo) { this.orderNo = orderNo; } public Long getCardId() { return cardId; } zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
@@ -67,4 +67,6 @@ List<RankingVo> selectShopConsumeAchieveRanking(@Param("record") AchieveNew achieveNew); List<RankingVo> selectBeauticianConsumeAchieveRanking(@Param("record") AchieveNew achieveNew); List<AchieveNew> selectOrderItemAchieveByOrderId(Long orderId); } zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderFlowDao.java
@@ -1,8 +1,15 @@ package com.matrix.system.hive.dao; import com.matrix.system.hive.bean.SysOrderFlow; import org.apache.ibatis.annotations.Param; import java.util.List; public interface SysOrderFlowDao { public int insert(SysOrderFlow sysOrderFlow); public List<SysOrderFlow> selectByOrderId(@Param("orderId") Long orderId); public List<SysOrderFlow> selectPayMethodsAmountByOrderId(@Param("orderId") Long orderId); } zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java
@@ -115,4 +115,6 @@ public UserAchieveVo findUserAchieveByTime(int type); public List<AchieveNew> findOrderItemAchieve(Long orderid); } zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderFlowService.java
New file @@ -0,0 +1,17 @@ package com.matrix.system.hive.service; import com.matrix.system.hive.bean.SysOrderFlow; import com.matrix.system.hive.plugin.util.BaseServices; import java.util.List; /** * @author wzy * @date 2021-01-11 **/ public interface SysOrderFlowService extends BaseServices<SysOrderFlow> { public List<SysOrderFlow> findByOrderId(Long orderId); public List<SysOrderFlow> findPayMethodsAmount(Long orderId); } zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderItemService.java
@@ -72,7 +72,8 @@ */ public Integer findDclItemTotal(Long vipId); public List<SysOrderItem> findByOrderId(Long orderId); } zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -355,4 +355,9 @@ return achieveNewDao.selectUserAchieveByTime(startTime, endTime, users.getSuId()); } @Override public List<AchieveNew> findOrderItemAchieve(Long orderId) { return achieveNewDao.selectOrderItemAchieveByOrderId(orderId); } } zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderFlowServiceImpl.java
New file @@ -0,0 +1,71 @@ package com.matrix.system.hive.service.imp; import com.matrix.core.pojo.PaginationVO; import com.matrix.system.hive.bean.SysOrderFlow; import com.matrix.system.hive.dao.SysOrderFlowDao; import com.matrix.system.hive.service.SysOrderFlowService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @author wzy * @date 2021-01-11 **/ @Service public class SysOrderFlowServiceImpl implements SysOrderFlowService { @Autowired private SysOrderFlowDao sysOrderFlowDao; @Override public int add(SysOrderFlow obje) { return 0; } @Override public int modify(SysOrderFlow obje) { return 0; } @Override public int remove(List<Long> list) { return 0; } @Override public int removeById(Long id) { return 0; } @Override public List<SysOrderFlow> findInPage(SysOrderFlow obje, PaginationVO pageVo) { return null; } @Override public List<SysOrderFlow> findByModel(SysOrderFlow obje) { return null; } @Override public int findTotal(SysOrderFlow obje) { return 0; } @Override public SysOrderFlow findById(Long id) { return null; } @Override public List<SysOrderFlow> findByOrderId(Long orderId) { return sysOrderFlowDao.selectByOrderId(orderId); } @Override public List<SysOrderFlow> findPayMethodsAmount(Long orderId) { return sysOrderFlowDao.selectPayMethodsAmountByOrderId(orderId); } } zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderItemServiceImpl.java
@@ -88,4 +88,8 @@ return sysOrderItemDao.selectDclItemTotal(vipId); } @Override public List<SysOrderItem> findByOrderId(Long orderId) { return sysOrderItemDao.selectByOrderId(orderId); } } zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -50,7 +50,9 @@ <result property="arriveCnt" column="arrive_cnt" /> <result property="goodsNo" column="goodsNo" /> <result property="goodsName" column="goodsName" /> <result property="zkPrice" column="zkPrice" /> </resultMap> @@ -1014,4 +1016,18 @@ group by a.beault_id order by amount desc </select> <select id="selectOrderItemAchieveByOrderId" resultMap="AchieveNewMap"> select a.*, b.code goodsNo, b.name goodsName, c.su_name meiliao, d.count*d.zk_price zk_total from achieve_new a left join shopping_goods b on a.shopping_goods_id=b.id left join sys_users c on a.beault_id=c.su_id left join sys_order_item d on a.order_item_id=d.id where a.order_id=#{orderId} </select> </mapper> zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -30,6 +30,7 @@ <!-- 扩展字段 --> <result property="shopName" column="SHOP_NAME"/> <result property="shopShortName" column="SHOP_SHORT_NAME"/> <result property="vipPhone" column="PHONE"/> @@ -321,6 +322,7 @@ a.*, c.su_name as STAFF_NAME, d.SHOP_NAME, d.shop_short_name, b.PHONE, b.VIP_NAME from sys_order a zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderFlowDao.xml
@@ -17,6 +17,8 @@ <result property="payMethod" column="pay_method" /> <result property="cardId" column="card_id" /> <result property="isGift" column="is_gift" /> <result property="orderNo" column="order_no" /> </resultMap> <insert id="insert" parameterType="SysOrderFlow" useGeneratedKeys="true" @@ -54,4 +56,19 @@ #{isGift} ) </insert> <select id="selectByOrderId" resultMap="SysOrderFlowMap"> select a.*, b.order_no from sys_order_flow a left join sys_order b on a.order_id=b.id where order_id=#{orderId} </select> <select id="selectPayMethodsAmountByOrderId" resultMap="SysOrderFlowMap"> select pay_method, sum(amount) amount from sys_order_flow where order_id=#{orderId} group by pay_method </select> </mapper> zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml
@@ -33,6 +33,7 @@ resultMap="com.matrix.system.hive.dao.ShoppingGoodsDao.ShoppingGoodsSimpleMap"></association> </resultMap> <!-- 查询会员待处理的订单商品 --> @@ -250,11 +251,11 @@ g.is_course, g.car_use_count, g.good_type, g.code g.code, g.goods_no, g.name from sys_order_item i left join shopping_goods g on i.goods_id=g.id left join shopping_goods g on i.goods_id=g.id where ORDER_ID =#{orderId} </select> zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html
@@ -40,14 +40,14 @@ <el-avatar :size="60" :src="circleUrl"></el-avatar> </el-col> <el-col :span="15" style="margin-left: 10px;"> <label>{{vipInfo.vipName}}({{vipInfo.vipLevel.levelName}})</label> <label>{{vipInfo.vipName}}({{vipInfo.vipLevel == null ? '' : vipInfo.vipLevel.levelName}})</label> <label>{{vipInfo.vipNo}}</label> </el-col> </el-row> <el-row style="line-height: 20px;"> <label>订单号: <span>{{order.orderNo}}</span></label> <label>下单顾问: <span>{{order.staffName}}</span></label> <label>消费门店: <span>{{order.shopName}}</span></label> <label>消费门店: <span>{{order.shopShortName}}</span></label> <label>订单时间: <span>{{order.orderTime}}</span></label> <label>备 注: <span>{{order.remark}}</span></label> </el-row> @@ -65,12 +65,12 @@ <label>退款</label> </el-col> <el-col :span="14" style="text-align: right;"> <label>¥ 92</label> <label>¥ -12</label> <label>¥ 80</label> <label>¥ 30</label> <label>¥ 30</label> <label>¥ 20</label> <label>¥ {{order.total}}</label> <label>¥ {{order.zkTotal - order.total}}</label> <label>¥ {{order.zkTotal}}</label> <label>¥ {{order.arrears}}</label> <label>¥ {{order.repay}}</label> <label>¥ {{order.refund}}</label> </el-col> </el-row> </el-col> @@ -82,16 +82,10 @@ </el-row> <el-row> <el-col :span="6" style="text-align: right;"> <label>微信</label> <label>支付宝</label> <label>银行卡</label> <label>欠款</label> <label v-for="(item, index) in payMethodItems">{{item.payMethod}}</label> </el-col> <el-col :span="14" style="text-align: right;"> <label>¥ 92</label> <label>¥ 12</label> <label>¥ 80</label> <label>¥ 20</label> <label v-for="(item, index) in payMethodItems">¥ {{item.amount}}</label> </el-col> </el-row> </el-col> @@ -114,17 +108,17 @@ width="50"> </el-table-column> <el-table-column prop="goodsNo" prop="shoppingGoods.code" label="产品编号" width="180"> width="100"> </el-table-column> <el-table-column prop="goodsName" prop="shoppingGoods.name" label="产品名称" width="180"> width="280"> </el-table-column> <el-table-column prop="goodsType" prop="shoppingGoods.goodType" label="产品类型"> </el-table-column> <el-table-column @@ -139,9 +133,7 @@ prop="zkPrice" label="折扣单价"> </el-table-column> <el-table-column prop="zkTotal" label="小计"> <el-table-column label="小计" :formatter="calOrderTotalFormatter"> </el-table-column> </el-table> </el-tab-pane> @@ -164,23 +156,23 @@ width="180"> </el-table-column> <el-table-column prop="goodsType" prop="zkTotal" label="收款"> </el-table-column> <el-table-column prop="price" prop="achieveType" label="业绩类型"> </el-table-column> <el-table-column prop="count" prop="achieve" label="业绩"> </el-table-column> <el-table-column prop="zkPrice" prop="commission" label="提成"> </el-table-column> <el-table-column prop="zkTotal" prop="staffId" label="员工"> </el-table-column> <el-table-column label="操作"> @@ -207,7 +199,7 @@ <el-table-column prop="flowContent" label="交易内容" width="180"> width="300"> </el-table-column> <el-table-column prop="flowType" @@ -250,24 +242,52 @@ orderItems : [], achieveItems : [], flowItems : [], payMethodItems : [], }, created : function() { this.vipInfo = /*[[${vipInfo}]]*/ this.order = /*[[${order}]]*/ this.orderItems = /*[[${orderItems}]]*/ this.payMethodItems = /*[[${payMethods}]]*/ this.achieveItems = /*[[${achieveList}]]*/ this.flowItems = this.order.flows; this.order.orderTime = moment(this.order.orderTime).format("YYYY-MM-DD HH:mm"); console.log(this.vipInfo); console.log(this.order); var arrears = 0; var refund = 0; var repay = 0; for(var i = 0; i < this.flowItems.length; i++) { var item = this.flowItems[i]; if (item.payMethod === '欠款') { arrears += item.amount; } if (item.flowType === '还款') { repay += item.amount; } if (item.flowType === '退款') { refund += item.amount; } } console.log(this.orderItems); this.order.arrears = arrears; this.order.refund = refund; this.order.repay = repay; }, methods : { calOrderTotalFormatter(row, column) { return row.count * row.price; }, printf() { var id = 1; var id = this.order.id; layer.open({ type: 2, title: "打印服务单", area: ['250px', '550px'], maxmin: true, content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id] content: [basePath + '/admin/redirect/hive/beautySalon/print-order?id=' + id] }); }, handleClick() { @@ -279,17 +299,5 @@ } }); //]]> function print() { var id=$("#orderId").val(); layer.open({ type: 2, title: "打印订单", area: ['250px', '550px'], maxmin: true, content: [basePath + '/admin/redirect/hive/beautySalon/print-order?id=' + id] }); }; </script> </html>