From d58a5eecbbf9db6a9469801273e537a55bc8e794 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 07 Jan 2021 21:24:58 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderFlowDao.xml | 57 +++++++
zq-erp/src/main/resources/mybatis/mybatis-config.xml | 1
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java | 10 +
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java | 155 +++++++++++++++++++
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html | 137 ++++++++++------
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderFlowDao.java | 8 +
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 95 ++++++-----
7 files changed, 367 insertions(+), 96 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
index 9c16a42..fc2f294 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
@@ -115,6 +115,8 @@
* 订单明细
*/
private List<SysOrderItem> items;
+
+ private List<SysOrderFlow> flows;
/**
* 会员姓名
*/
@@ -163,6 +165,14 @@
private String type;
+ public List<SysOrderFlow> getFlows() {
+ return flows;
+ }
+
+ public void setFlows(List<SysOrderFlow> flows) {
+ this.flows = flows;
+ }
+
public String getType() {
return type;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java
new file mode 100644
index 0000000..6292e8f
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java
@@ -0,0 +1,155 @@
+package com.matrix.system.hive.bean;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2021-01-07
+ **/
+public class SysOrderFlow implements Serializable {
+ private static final long serialVersionUID = 7519131902836023680L;
+
+ public static final String PAY_METHOD_CARD = "会员卡";
+
+ private String createBy;
+
+ private Date createTime;
+
+ private String updateBy;
+
+ private Date updateTime;
+
+ private Long id;
+
+ private String flowNo;
+
+ private Long orderId;
+
+ private String flowContent;
+
+ private String flowType;
+
+ private BigDecimal amount;
+
+ private String payMethod;
+
+ private Long vipId;
+
+ private Long cardId;
+
+ private String isGift;
+
+ public Long getCardId() {
+ return cardId;
+ }
+
+ public void setCardId(Long cardId) {
+ this.cardId = cardId;
+ }
+
+ public String getIsGift() {
+ return isGift;
+ }
+
+ public void setIsGift(String isGift) {
+ this.isGift = isGift;
+ }
+
+ public String getCreateBy() {
+ return createBy;
+ }
+
+ public void setCreateBy(String createBy) {
+ this.createBy = createBy;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getUpdateBy() {
+ return updateBy;
+ }
+
+ public void setUpdateBy(String updateBy) {
+ this.updateBy = updateBy;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getFlowNo() {
+ return flowNo;
+ }
+
+ public void setFlowNo(String flowNo) {
+ this.flowNo = flowNo;
+ }
+
+ public Long getOrderId() {
+ return orderId;
+ }
+
+ public void setOrderId(Long orderId) {
+ this.orderId = orderId;
+ }
+
+ public String getFlowContent() {
+ return flowContent;
+ }
+
+ public void setFlowContent(String flowContent) {
+ this.flowContent = flowContent;
+ }
+
+ public String getFlowType() {
+ return flowType;
+ }
+
+ public void setFlowType(String flowType) {
+ this.flowType = flowType;
+ }
+
+ public BigDecimal getAmount() {
+ return amount;
+ }
+
+ public void setAmount(BigDecimal amount) {
+ this.amount = amount;
+ }
+
+ public String getPayMethod() {
+ return payMethod;
+ }
+
+ public void setPayMethod(String payMethod) {
+ this.payMethod = payMethod;
+ }
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderFlowDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderFlowDao.java
new file mode 100644
index 0000000..c6b11db
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderFlowDao.java
@@ -0,0 +1,8 @@
+package com.matrix.system.hive.dao;
+
+import com.matrix.system.hive.bean.SysOrderFlow;
+
+public interface SysOrderFlowDao {
+
+ public int insert(SysOrderFlow sysOrderFlow);
+}
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 b64d15a..00031d1 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
@@ -93,6 +93,9 @@
@Autowired
private ShoppingGoodsService shoppingGoodsService;
+ @Autowired
+ private SysOrderFlowDao sysOrderFlowDao;
+
@Override
public int add(SysOrder sysOrder) {
return sysOrderDao.insert(sysOrder);
@@ -180,10 +183,10 @@
// 如果支付方式是非现金则记录现金支付金额
if (!item.getPayMethod().equals(PayMethodEnum.VIP_CARD.getCode())) {
xjMoney = MoneyUtil.add(xjMoney, item.getPayMoney());
- item.setCashPay(item.getPayMoney());
+// item.setCashPay(item.getPayMoney());
} else {
cardMoney = MoneyUtil.add(cardMoney, item.getPayMoney());
- item.setCardPay(item.getPayMoney());
+// item.setCardPay(item.getPayMoney());
}
@@ -191,27 +194,28 @@
// 订单欠款减去支付金额 设置实际欠款
Double itemZkTotal = MoneyUtil.mul(item.getZkPrice(), Double.valueOf(item.getCount()));
zkTotal=MoneyUtil.add(zkTotal, itemZkTotal);
- item.setArrears(MoneyUtil.sub(itemZkTotal, item.getPayMoney()));
+// item.setArrears(MoneyUtil.sub(itemZkTotal, item.getPayMoney()));
// 如果存在欠款,将条目状态设置为欠款
- if (item.getArrears() > 0) {
- item.setStatus(Dictionary.ORDER_STATU_QK);
- } else if (item.getArrears() < 0) {
- item.setPayMoney(item.getZkPrice());
- item.setStatus(Dictionary.ORDER_STATU_DFK);
- } else {
- item.setStatus(Dictionary.ORDER_STATU_DFK);
- }
+// if (item.getArrears() > 0) {
+// item.setStatus(Dictionary.ORDER_STATU_QK);
+// } else if (item.getArrears() < 0) {
+// item.setPayMoney(item.getZkPrice());
+// item.setStatus(Dictionary.ORDER_STATU_DFK);
+// } else {
+// item.setStatus(Dictionary.ORDER_STATU_DFK);
+// }
+ item.setStatus(Dictionary.ORDER_STATU_DFK);
}
double arrears;
SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
// 如果是收款,收款可以改变订单价格,所以需要求和出 订单折后价来计算本次欠款
arrears = MoneyUtil.sub(zkTotal, MoneyUtil.add(cardMoney, xjMoney));
sysOrder.setZkTotal(zkTotal);
- sysOrder.setArrears(arrears);
- sysOrder.setCardPay(cardMoney);
- sysOrder.setCashPay(xjMoney);
+// sysOrder.setArrears(arrears);
+// sysOrder.setCardPay(cardMoney);
+// sysOrder.setCashPay(xjMoney);
sysOrder.setStatu(Dictionary.ORDER_STATU_DFK);
sysOrder.setStaffId(user.getSuId());
sysOrder.setCompanyId(user.getCompanyId());
@@ -499,40 +503,43 @@
*/
private void changeOrderStatu(SysOrder sourceOrder) {
- boolean haQk=false;
+ for (SysOrderFlow flow : sourceOrder.getFlows()) {
+ // 若使用储值卡付款
+ if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) {
- for(SysOrderItem sysOrderItem:sourceOrder.getItems()){
-
- if(!sysOrderItem.getStatus().equals(Dictionary.ORDER_STATU_QK)){
- SysOrderItem updateItem=new SysOrderItem();
- updateItem.setId(sysOrderItem.getId());
- updateItem.setStatus(Dictionary.ORDER_STATU_YFK);
-
- if (sysOrderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY_CARD ) ) {
-
- if(sysOrderItem.getPayMethodDetail()!=null){
- // 查询要支付的充值卡
- MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(sysOrderItem.getPayMethodDetail()));
- // 扣除付款卡金额并添加流水
- cardPaySk(moneyCardUse, sourceOrder, sysOrderItem);
- }else{
- throw new GlobleException("请选择支付的会员卡");
- }
-
-
- }
- orderItemDao.update(updateItem);
- }else {
- haQk=true;
}
}
- //更新收款状态
- if(haQk){
- sourceOrder.setStatu(Dictionary.ORDER_STATU_QK);
- }else{
- sourceOrder.setStatu(Dictionary.ORDER_STATU_YFK);
- }
+// boolean haQk=false;
+//
+// for(SysOrderItem sysOrderItem:sourceOrder.getItems()){
+//
+// if(!sysOrderItem.getStatus().equals(Dictionary.ORDER_STATU_QK)){
+// SysOrderItem updateItem=new SysOrderItem();
+// updateItem.setId(sysOrderItem.getId());
+// updateItem.setStatus(Dictionary.ORDER_STATU_YFK);
+//
+// if (sysOrderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY_CARD ) ) {
+//
+// if(sysOrderItem.getPayMethodDetail()!=null){
+// // 查询要支付的充值卡
+// MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(sysOrderItem.getPayMethodDetail()));
+// // 扣除付款卡金额并添加流水
+// cardPaySk(moneyCardUse, sourceOrder, sysOrderItem);
+// }else{
+// throw new GlobleException("请选择支付的会员卡");
+// }
+//
+//
+// }
+// orderItemDao.update(updateItem);
+// }else {
+// haQk=true;
+// }
+// }
+
+ // 更新收款状态
+ sourceOrder.setStatu(Dictionary.ORDER_STATU_YFK);
sysOrderDao.update(sourceOrder);
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderFlowDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderFlowDao.xml
new file mode 100644
index 0000000..0a4e880
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderFlowDao.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.matrix.system.hive.dao.SysOrderFlowDao">
+
+ <resultMap id="SysOrderFlowMap" type="SysOrderFlow">
+ <id property="id" column="id" />
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="flowNo" column="flow_no" />
+ <result property="orderId" column="order_id" />
+ <result property="flowContent" column="flow_content" />
+ <result property="flowType" column="flow_type" />
+ <result property="amount" column="amount" />
+ <result property="vipId" column="vip_id" />
+ <result property="payMethod" column="pay_method" />
+ <result property="cardId" column="card_id" />
+ <result property="isGift" column="is_gift" />
+ </resultMap>
+
+ <insert id="insert" parameterType="SysOrderFlow" useGeneratedKeys="true"
+ keyProperty="id">
+ INSERT INTO sys_order_flow (
+ ID,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ flow_no,
+ order_id,
+ flow_content,
+ flow_type,
+ amount,
+ vip_id,
+ pay_method,
+ card_id,
+ is_gift
+ )
+ VALUES (
+ #{id},
+ #{createBy},
+ now(),
+ #{updateBy},
+ now(),
+ #{flowNo},
+ #{orderId},
+ #{flowContent},
+ #{flowType},
+ #{amount},
+ #{vipId},
+ #{payMethod},
+ #{cardId},
+ #{isGift}
+ )
+ </insert>
+</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mybatis-config.xml b/zq-erp/src/main/resources/mybatis/mybatis-config.xml
index ac77a00..66fe1b7 100644
--- a/zq-erp/src/main/resources/mybatis/mybatis-config.xml
+++ b/zq-erp/src/main/resources/mybatis/mybatis-config.xml
@@ -63,5 +63,6 @@
<typeAlias alias="ServicesFlow" type="com.matrix.system.hive.bean.ServicesFlow" />
<typeAlias alias="VipAnswer" type="com.matrix.system.hive.bean.VipAnswer" />
<typeAlias alias="SysWorktime" type="com.matrix.system.hive.bean.SysWorktime" />
+ <typeAlias alias="SysOrderFlow" type="com.matrix.system.hive.bean.SysOrderFlow" />
</typeAliases>
</configuration>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
index bd53d6f..48a3070 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
@@ -112,6 +112,10 @@
border: 3px solid;
border-color: transparent #4884ff #4884ff transparent;
}
+
+ .el-dialog__body {
+ padding-top: 10px !important;
+ }
</style>
</head>
<body>
@@ -451,9 +455,9 @@
</el-drawer>
<el-dialog title="收款" :visible.sync="dialogSettleVisible">
- <el-row type="flex" align="middle" style="padding: 10px 0;">
+ <el-row type="flex" align="middle" style="padding: 0 0 10px 0;">
<el-col :span="5" style="text-align: center;">应收</el-col>
- <el-col :span="10" style="text-align: center; line-height: 50px;"><span style="color: red;">¥ 80</span></el-col>
+ <el-col :span="10" style="text-align: center; line-height: 50px;"><span style="color: red; font-size: 20px;">¥ {{order.payMoney}}</span></el-col>
</el-row>
<el-row type="flex" align="middle" style="padding: 10px 0;">
@@ -463,7 +467,7 @@
<ul>
<span v-for="(item, index) in payMethods">
<el-popover
- :disabled="item.type != 6"
+ :disabled="item.type != '会员卡'"
placement="bottom"
trigger="hover"
@hide="popoverHide(item)">
@@ -486,13 +490,13 @@
</el-col>
</el-row>
- <el-row type="flex" align="middle" style="padding: 10px 0;">
+ <el-row type="flex" align="middle" style="padding: 10px 0 50px 0;">
<el-col :span="5" style="text-align: center;">支付金额</el-col>
<el-col :span="15">
<el-row style="line-height: 50px;" v-for="(item, index) in payMoneys">
- <el-col :span="5" style="text-align: right; padding-right: 10px; font-size: 12px;">{{item.value}}</el-col>
- <el-col :span="8"><el-input v-model="item.money"></el-input></el-col>
- <el-col :span="5" style="margin-left: 10px;" v-if="item.type == 6">余额:<span class="arrears">¥ {{item.balance}}</span></el-col>
+ <el-col :span="6" style="text-align: right; padding-right: 10px; font-size: 12px;">{{item.value}}</el-col>
+ <el-col :span="8"><el-input v-model.number="item.money"></el-input></el-col>
+ <el-col :span="6" style="margin-left: 10px;" v-if="item.type == '会员卡'">{{item.isGift == 1 ? '赠送余额' : '余额' }}:<span class="arrears">¥ {{item.balance}}</span></el-col>
</el-row>
</el-col>
</el-row>
@@ -552,31 +556,31 @@
payMethods: [{
value: '现金支付',
isActive: false,
- type: 1
+ type: '现金支付'
}, {
value: '微信',
isActive: false,
- type: 2
+ type: '微信'
}, {
value: '支付宝',
isActive: false,
- type: 3
+ type: '支付宝'
}, {
value: '银行卡',
isActive: false,
- type: 4
+ type: '银行卡'
}, {
value: '团购',
isActive: false,
- type: 5
+ type: '团购'
}, {
value: '会员卡',
isActive: false,
- type: 6
+ type: '会员卡'
}, {
value: '欠款',
isActive: false,
- type: 7
+ type: '欠款'
},],
achieveList: [],
//会员可用的充值卡
@@ -707,11 +711,24 @@
contentType: 'application/x-www-form-urlencoded',
url: basePath + '/admin/moneyCardUse/getUseMoneyCard',
callback: function (data) {
- console.log(_this.moneyCards)
if (data.rows.length > 0) {
data.rows.forEach(function (item, index, input) {
- item.showLable = item.cardName + "-余额:" + (item.realMoney + item.giftMoney)
+ item.showLable = item.cardName + "-余额:" + (item.realMoney)
+ item.uuid = MTools.uuid();
+ if (item.giftMoney != 0) {
+ var children = [];
+ var gift = {};
+ gift.id = item.id;
+ gift.giftMoney = item.giftMoney;
+ gift.showLable = item.cardName + '-赠送金额' + item.giftMoney;
+ gift.cardName = item.cardName;
+ gift.isGift = 1;
+ gift.uuid = MTools.uuid();
+ children.push(gift);
+ item.children = children;
+ }
});
+ console.log(data.rows)
_this.moneyCards = data.rows;
}
@@ -859,21 +876,30 @@
//检查支付方式
- let hasPayMethod=true;
- _this.order.items.forEach(item=>{
- if(!item.payMethod){
- hasPayMethod=false;
- return;
+ // let hasPayMethod=true;
+ // _this.order.items.forEach(item=>{
+ // if(!item.payMethod){
+ // hasPayMethod=false;
+ // return;
+ // }
+ // });
+ // if(!hasPayMethod){
+ // this.$message.warning("请选择支付方式");
+ // return false;
+ // }
+
+ let flows = []
+ _this.payMoneys.forEach(item=>{
+ let flow = {};
+ flow.payMethod = item.type;
+ flow.amount = item.money;
+ if (item.type == 6) {
+ flow.isGift = item.isGift;
+ flow.cardId = item.id;
}
- });
- if(!hasPayMethod){
- this.$message.warning("请选择支付方式");
- return false;
- }
-
-
-
-
+ flows.push(flow)
+ })
+ _this.order.flows = flows;
//匹配业绩
@@ -1159,37 +1185,44 @@
Vue.set(item, 'isActive', true)
}
},
- handleCheckChange(click, checked) {
+ handleCheckChange(clickNode, checked) {
let _this = this;
- let selectNodes = checked.checkedNodes;
- this.treeSelect = selectNodes;
- let payMoneys = this.payMoneys;
- for(var i = 0; i < payMoneys.length; i++) {
- if(payMoneys[i].type == 6) {
- _this.payMoneys.splice(i, 1);
+ let nodes = checked.checkedNodes;
+ _this.treeSelect = nodes;
+ var index = -1;
+ // 判断点击节点是否在已展示支付方式中
+ for(var i = 0; i < _this.payMoneys.length; i++) {
+ let node = _this.payMoneys[i];
+ if (node.uuid === clickNode.uuid) {
+ index = i;
+ break;
}
}
- for(var i = 0; i < selectNodes.length; i++) {
- var node = selectNodes[i];
+ // 若点击节点在选中节点中,且已展示支付方式不存在,则添加
+ if (nodes.indexOf(clickNode) > -1 && index === -1) {
+ var node = clickNode;
var item = {};
- item.value = node.cardName;
- item.balance = node.money;
- item.isGift = 0;
- item.type = 6;
- item.id = node.id;
- if (node.giftMoney != 0) {
- var giftItem = {};
- giftItem.value = node.cardName + "赠送金额";
- giftItem.id = node.id;
- giftItem.balance = node.giftMoney;
- giftItem.isGift = 1;
- giftItem.type = 6;
- _this.payMoneys.push(giftItem);
+ if (node.isGift) {
+ item.value = node.cardName;
+ item.balance = node.giftMoney;
+ item.isGift = 1;
+ } else {
+ item.value = node.cardName;
+ item.balance = node.realMoney;
+ item.isGift = 0;
}
+ item.type = '会员卡';
+ item.id = node.id;
+ item.uuid = clickNode.uuid;
_this.payMoneys.push(item);
}
+
+ // 若点击节点不存在选中节点中,且已展示支付方式中存在,则移除
+ if (nodes.indexOf(clickNode) === -1 && index > -1) {
+ _this.payMoneys.splice(index, 1);
+ }
},
submitPay() {
}
--
Gitblit v1.9.1