From c34b0342177c90564ee5c9d3ef25c7442aaf71ba Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 14 Feb 2022 14:59:05 +0800
Subject: [PATCH] Merge branch 'api_score_meger' into alpha
---
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java | 54 +++++++++++++
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html | 16 +++
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java | 7 +
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java | 3
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html | 2
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml | 68 ++++++++++++++++
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FenxiaoOrderListExportVo.java | 40 ++++++++++
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java | 5 +
zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html | 13 ++-
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html | 2
10 files changed, 197 insertions(+), 13 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
index 5c511b7..8c147d5 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
@@ -1,19 +1,33 @@
package com.matrix.system.fenxiao.action;
import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.excl.ExcelSheetPO;
+import com.matrix.core.tools.excl.ExcelUtil;
+import com.matrix.core.tools.excl.ExcelVersion;
+import com.matrix.system.common.tools.ResponseHeadUtil;
import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderBasicDto;
import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto;
import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto;
import com.matrix.system.fenxiao.dto.UpdateSetOrderDoneDto;
import com.matrix.system.fenxiao.service.ShopSalesmanOrderService;
+import com.matrix.system.fenxiao.vo.FenxiaoOrderListExportVo;
import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo;
import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo;
import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo;
+import com.matrix.system.hive.bean.SysProjServices;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
@RestController
@RequestMapping(value = "/fenXiao/fenXiaoOrder")
@@ -70,7 +84,45 @@
AjaxResult loadSetOrderList(@RequestBody LoadSetOrderListDtoDto loadSetOrderListDto) {
return shopSalesmanOrderService.loadSetOrderList(loadSetOrderListDto);
}
-
+
+ @RequestMapping(value = "/exportExcel")
+ public void exportExcel(HttpServletResponse response, LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) throws IOException {
+ List<ExcelSheetPO> res = new ArrayList<>();
+ ExcelSheetPO orderSheet = new ExcelSheetPO();
+ String title = "分销订单明细";
+ orderSheet.setSheetName(title);
+ orderSheet.setTitle(title);
+ String[] header = {"订单编号","实付金额(元)", "订单状态", "下单门店","客户", "推广员","收益类型","收益金额", "结算状态", "结算编号", "结算时间", "结算人"};
+ orderSheet.setHeaders(header);
+
+ List<FenxiaoOrderListExportVo> dataList = shopSalesmanOrderService.findFenxiaoOrderList(loadFenxiaoOrderListDto);
+ List<List<Object>> list = new ArrayList<>();
+ if (dataList.size() > 0) {
+ for (FenxiaoOrderListExportVo item : dataList) {
+ List<Object> temp = new ArrayList<>();
+ temp.add(item.getOrderNo());
+ temp.add(item.getActualBalance());
+ temp.add(item.getOrderState());
+ temp.add(item.getAddress());
+ temp.add(item.getCustom());
+ temp.add(item.getParentSale());
+ temp.add(item.getProfitType());
+ temp.add(item.getProfitBalance());
+ temp.add(item.getSettleType());
+ temp.add(item.getSettleNo());
+ temp.add(DateUtil.dateToString(item.getSettleTime(), DateUtil.DATE_FORMAT_MM));
+ temp.add(item.getSettler());
+ list.add(temp);
+ }
+ }
+ orderSheet.setDataList(list);
+ res.add(orderSheet);
+ response = ResponseHeadUtil.setExcelHead(response);
+ response.setHeader("Content-Disposition",
+ "attachment;filename=" + URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8"));
+ OutputStream os = response.getOutputStream();
+ ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
+ }
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
index c5b69cb..7adcc35 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
@@ -6,12 +6,15 @@
import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto;
import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto;
import com.matrix.system.fenxiao.entity.ShopSalesmanOrder;
+import com.matrix.system.fenxiao.vo.FenxiaoOrderListExportVo;
import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo;
import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo;
import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo;
import com.matrix.system.shopXcx.api.dto.SaleOrderDto;
import com.matrix.system.shopXcx.vo.SalesOrderVo;
import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* @description 分销订单
@@ -36,4 +39,6 @@
IPage<LoadSetOrderListDtoVo> findSetOrderList(Page<LoadSetOrderListDtoVo> page,
@Param("record")LoadSetOrderListDtoDto loadSetOrderListDto);
+ List<FenxiaoOrderListExportVo> selectFenxiaoOrderListNoPage(@Param("record")LoadFenxiaoOrderListDto loadFenxiaoOrderListDto);
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java
index 55c708d..39a251d 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.matrix.system.fenxiao.vo.FenxiaoOrderListExportVo;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.dao.SysVipInfoDao;
import com.matrix.core.constance.MatrixConstance;
@@ -179,7 +180,9 @@
}
+ public List<FenxiaoOrderListExportVo> findFenxiaoOrderList(LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) {
+ QueryUtil.setQueryLimitCom(loadFenxiaoOrderListDto);
+ return shopSalesmanOrderDao.selectFenxiaoOrderListNoPage(loadFenxiaoOrderListDto);
+ }
-
-
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FenxiaoOrderListExportVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FenxiaoOrderListExportVo.java
new file mode 100644
index 0000000..a72bc01
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FenxiaoOrderListExportVo.java
@@ -0,0 +1,40 @@
+package com.matrix.system.fenxiao.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class FenxiaoOrderListExportVo {
+
+ @ApiModelProperty(value = "订单编号")
+ private String orderNo;
+ @ApiModelProperty(value = "订单状态")
+ private String orderState;
+ @ApiModelProperty(value = "实付金额(元)")
+ private BigDecimal actualBalance;
+ @ApiModelProperty(value = "下单门店")
+ private String address;
+ @ApiModelProperty(value = "客户")
+ private String custom;
+ @ApiModelProperty(value = "客户openId")
+ private String customUserId;
+ @ApiModelProperty(value = "推广员")
+ private String parentSale;
+ @ApiModelProperty(value = "收益类型")
+ private String profitType;
+ @ApiModelProperty(value = "收益金额")
+ private BigDecimal profitBalance;
+ @ApiModelProperty(value = "结算状态")
+ private String settleType;
+ @ApiModelProperty(value = "结算编号")
+ private String settleNo;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ @ApiModelProperty(value = "结算时间")
+ private Date settleTime;
+ @ApiModelProperty(value = "结算人")
+ private String settler;
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java
index c2ac378..596c689 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java
@@ -17,4 +17,7 @@
@ApiModelProperty(value = "待结算订单")
private Integer waitOrderNum;
+ @ApiModelProperty(value = "订单金额")
+ private BigDecimal orderBalance;
+
}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
index a594e68..84c0ede 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
@@ -76,7 +76,10 @@
WHERE order_status = 1 and company_id=#{companyId} ) a) waitNum,
(SELECT COUNT(*)
FROM shop_salesman_order
- WHERE order_status = 1 and company_id=#{companyId}) waitOrderNum
+ WHERE order_status = 1 and company_id=#{companyId}) waitOrderNum,
+ (select sum(order_money) from shop_salesman_order a
+ inner join shop_order b on a.order_id=b.ID
+ where a.company_id=#{companyId}) orderBalance
FROM
shop_salesman_order
where company_id=#{companyId}
@@ -171,4 +174,67 @@
</if>
</select>
+ <select id="selectFenxiaoOrderListNoPage" resultType="com.matrix.system.fenxiao.vo.FenxiaoOrderListExportVo">
+ SELECT
+ a.id id,
+ d.order_no,
+ d.order_money actualBalance,
+ f.shop_name address,
+ case when d.order_status = 1 then '待付款'
+ when d.order_status = 2 then '待配送'
+ when d.order_status = 3 then '待收货'
+ when d.order_status = 4 then '待评价'
+ when d.order_status = 5 then '已评价'
+ when d.order_status = 6 then '申请退款'
+ when d.order_status = 7 then '退款成功'
+ when d.order_status = 8 then '退款拒绝'
+ when d.order_status = 9 then '已取消' end orderState,
+ b.nick_name custom,
+ b.id customUserId,
+ e.nick_name parentSale,
+ case when a.revenue_type = 1 then '推广收益'
+ when a.revenue_type = 2 then '邀请收益' end profitType,
+ a.amount profitBalance,
+ case when a.order_status = 1 then '待结算'
+ when a.order_status = 2 then '已结算'
+ when a.order_status = 3 then '已退款' end settleType,
+ c.order_no settleNo,
+ c.create_time settleTime,
+ g.su_name settler
+ FROM
+ shop_salesman_order a
+ LEFT JOIN sys_vip_info b on a.user_id = b.id
+ LEFT JOIN shop_saleman_settlement c on a.settlement_id = c.id
+ LEFT JOIN shop_order d on d.id = a.order_id
+ LEFT JOIN sys_vip_info e on a.sales_user_id = e.id
+ LEFT JOIN sys_shop_info f on f.id = d.store_id
+ LEFT JOIN sys_users g on c.user_id = g.su_id
+ <where>
+ a.company_id = #{record.companyId}
+ <if test="record.userName != null and record.userName != ''">
+ and b.nick_name like concat('%',#{record.userName},'%')
+ </if>
+ <if test="record.ddType != null and record.ddType != ''">
+ and d.order_status = #{record.ddType}
+ </if>
+ <if test="record.startTime != null ">
+ and a.create_time >= #{record.startTime}
+ </if>
+ <if test="record.endTime != null">
+ and #{record.endTime} >= a.create_time
+ </if>
+ <if test="record.tgy != null and record.tgy != ''">
+ and e.nick_name like concat('%',#{record.tgy},'%')
+ </if>
+ <if test="record.orderType != null and record.orderType != ''">
+ and a.order_status = #{record.orderType}
+ </if>
+ <if test="record.jsbh != null and record.jsbh != ''">
+ and c.order_no = #{record.jsbh}
+ </if>
+ <if test="record.ddh != null and record.ddh != ''">
+ and d.order_no = #{record.ddh}
+ </if>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
index c047688..a3e3dce 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
@@ -53,12 +53,12 @@
<div class="panel-body" id="app" v-cloak>
<el-row>
<el-card class="box-card" style="background-color: #0a628f;">
- <div style="padding:10px;font-size: 20px;">¥{{basicdetail.balance}}</div>
+ <div style="padding:10px;font-size: 20px;">¥{{basicdetail.orderBalance}}</div>
<div>订单总金额</div>
</el-card >
<el-card class="box-card" style="background-color: #0f9aef;">
<div style="padding:10px;font-size: 20px;">¥{{basicdetail.balance}}</div>
- <div>待计算金额</div>
+ <div>待结算金额</div>
</el-card >
<el-card class="box-card" style="background: #67C23A;">
<div style="padding:10px;font-size: 20px;">{{basicdetail.waitNum}}人</div>
@@ -152,7 +152,7 @@
</el-form-item>
<el-button type="primary" @click="search" >搜索</el-button>
<el-button @click="resetForm('form')">重置</el-button>
- <el-button>导出</el-button>
+ <el-button @click="excelExport">导出</el-button>
</el-form>
</el-col>
</el-row>
@@ -686,6 +686,16 @@
}
});
},
+ excelExport() {
+ var jsonParam = this.getRequestParam();
+ var param = "";
+ Object.keys(jsonParam).forEach(function(key){
+ if (jsonParam[key]) {
+ param += key + "=" + jsonParam[key] + "&";
+ }
+ });
+ window.location.href=basePath+"/fenXiao/fenXiaoOrder/exportExcel?"+param;
+ }
}
})
</script>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html
index 60f715e..07bfb1c 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html
@@ -133,7 +133,7 @@
<span class="openOrClose" v-if="item.openOrClose" @click="openOrCloseTc(item, index, 2)"><i class="el-icon-arrow-up"></i></span>
【{{item.isCourse=='N'?'固定套餐':'任选套餐'}}】{{item.projName}}
<span style="float: right" v-if="item.failTime != null">有效期:{{item.failTime}}</span>
- <code v-if="item.projInfo.isCourse=='Y'" > 剩余次数:<span v-if="item.projInfo.isInfinite == 'Y'">无限次</span><span v-else>{{item.surplusCount}}</span> </code>
+ <code v-if="item.isCourse=='Y'" > 剩余次数:<span v-if="item.isInfinite == 'Y'">无限次</span><span v-else>{{item.surplusCount}}</span> </code>
</p>
<el-table
:data="item.taocanProjUse"
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html
index d01ee11..7259054 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html
@@ -133,7 +133,7 @@
<span class="openOrClose" v-if="item.openOrClose" @click="openOrCloseTc(item, index, 2)"><i class="el-icon-arrow-up"></i></span>
【{{item.isCourse=='N'?'固定套餐':'任选套餐'}}】{{item.projName}}
<span style="float: right" v-if="item.failTime != null">有效期:{{item.failTime}}</span>
- <code v-if="item.projInfo.isCourse=='Y'" > 剩余次数:<span v-if="item.projInfo.isInfinite == 'Y'">无限次</span><span v-else>{{item.surplusCount}}</span> </code>
+ <code v-if="item.isCourse=='Y'" > 剩余次数:<span v-if="item.isInfinite == 'Y'">无限次</span><span v-else>{{item.surplusCount}}</span> </code>
</p>
<el-table
:data="item.taocanProjUse"
diff --git a/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html b/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
index 6011fb9..108bb79 100644
--- a/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
@@ -130,7 +130,7 @@
<th data-field="totalScore" data-align="center">获得总积分</th>
<th data-field="currentScore" data-align="center">可兑换积分</th>
<th data-field="isSales" data-align="center" data-formatter="buildIsSales">是否为销售员</th>
- <th data-align="center" data-width="195px" data-field="userId" data-formatter="buildOperate">操作</th>
+ <th data-align="center" data-width="195px" data-field="userId" data-formatter="buildOperation">操作</th>
</tr>
</thead>
</table>
@@ -189,13 +189,18 @@
var btns = [];
btns[0] = "", btns[1] = "";
- function buildOperate(value, row, index){
+ function buildOperation(value, row, index) {
var html = "";
- html += '<div class="btn-group">'
- html += '</div>';
+ html += '<a class="text-info" href="javascript:void(0)" onClick="setSalesMan(\''+row.id+'\')">设置推广员</a> '
return html;
}
+ function setSalesMan(val) {
+ MTools.handleItem(basePath + "/fenXiao/fenXiaoUser/setSaleMan?id=" + val, "确定将该用户设置为推广员?",
+ function () {
+ myGrid.serchData();
+ });
+ }
--
Gitblit v1.9.1