Helius
2021-01-11 4ece659308844cbe73053d3dd2a6f777f218eb13
modify
2 files added
15 files modified
321 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java 15 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java 27 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java 10 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java 10 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderFlowDao.java 7 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderFlowService.java 17 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderItemService.java 5 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderFlowServiceImpl.java 71 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderItemServiceImpl.java 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml 18 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderFlowDao.xml 17 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml 9 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form.html 100 ●●●● patch | view | raw | blame | history
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>