From 72396cbbb60d0418dd4cb63f310532fc70a28c10 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Tue, 16 Mar 2021 17:59:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop

---
 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java        |   15 +
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html           |  169 +++++++++++++++---
 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java      |   26 ++
 zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml            |   48 ++++
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java         |    4 
 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java      |   24 -
 zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java     |   13 +
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java         |    5 
 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java       |    8 
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html            |    4 
 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java |    7 
 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java |  130 +++++++++++---
 zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java         |   11 
 zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java                 |    7 
 zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java        |    2 
 zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java           |   10 +
 zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml            |    4 
 17 files changed, 384 insertions(+), 103 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
index 865f5da..98e2f77 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
@@ -1,5 +1,7 @@
 package com.matrix.system.fenxiao.action;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.matrix.biz.dao.BizUserDao;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.pojo.AjaxResult;
@@ -10,25 +12,15 @@
 import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
 import com.matrix.system.fenxiao.service.FenXiaoSettingService;
 import com.matrix.system.fenxiao.vo.FenXiaoSettingVo;
+import com.matrix.system.hive.bean.ShoppingGoods;
+import com.matrix.system.hive.dao.ShoppingGoodsDao;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
-import com.matrix.system.hive.bean.ShoppingGoods;
-import com.matrix.system.hive.dao.ShoppingGoodsDao;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
-
-import org.apache.commons.collections.CollectionUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping(value = "/fenXiao/ruleSetting")
@@ -84,7 +76,7 @@
        if(CollUtil.isNotEmpty(sqtjRuleSettingsVo)){
     	   for(FenXiaoSettingVo fenXiaoSettingVo : sqtjRuleSettingsVo) {
     		   //选择申请条件条件3时,获得选中产品集合
-    		   if("3".equals(fenXiaoSettingVo.getParamValue())) {
+    		   if(FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP.equals(fenXiaoSettingVo.getParamValue())) {
     			   String paramValue1 = fenXiaoSettingVo.getParamValue1();
     			   if(StrUtil.isNotEmpty(paramValue1)) {
     				   List<Integer> idsList = new ArrayList<>();
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
index f0fe454..f7ef70f 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java
@@ -298,11 +298,11 @@
     AjaxResult addSaleManApply(@RequestBody AddSaleManApplyDto addSaleManApplyDto) {
     	String gradeId = addSaleManApplyDto.getGradeId();
     	if(StrUtil.isBlankOrUndefined(gradeId)) {
-    		return AjaxResult.buildSuccessInstance("请选择分销等级");
+    		return AjaxResult.buildFailInstance("请选择分销等级");
     	}
     	ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(Long.parseLong(gradeId));
     	if(ObjectUtil.isEmpty(selectById)) {
-    		return AjaxResult.buildSuccessInstance("请选择分销等级");
+    		return AjaxResult.buildFailInstance("请选择分销等级");
     	}
         
         //设置用户公司ID
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java
index 7e287db..006e414 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java
@@ -1,10 +1,11 @@
 package com.matrix.system.fenxiao.dto;
 
 import com.matrix.core.pojo.BasePageQueryDto;
-
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.util.Date;
 
 @Data
 @ApiModel(value = "LoadFenxiaoOrderListDto", description = "查询参数")
@@ -12,8 +13,29 @@
 	
 	@ApiModelProperty(hidden = true)
 	private Long companyId;
+	
+	@ApiModelProperty(value ="订单状态")
+	private Integer ddType;
+	
+	@ApiModelProperty(value ="结算状态")
+	private Integer orderType;
 
-	@ApiModelProperty(value ="会员姓名")
+	@ApiModelProperty(value ="客户名称")
 	private String userName;
+	
+	@ApiModelProperty(value ="推广员名称")
+	private String tgy;
+	
+	@ApiModelProperty(value ="开始时间")
+	private Date startTime;
+	
+	@ApiModelProperty(value ="结束时间")
+	private Date endTime;
+	
+	@ApiModelProperty(value ="结算编号")
+	private String jsbh;
+	
+	@ApiModelProperty(value ="订单号")
+	private String ddh;
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java
index b68eaff..b23b183 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java
@@ -1,5 +1,7 @@
 package com.matrix.system.fenxiao.dto;
 
+import java.util.Date;
+
 import com.matrix.core.pojo.BasePageQueryDto;
 
 import io.swagger.annotations.ApiModel;
@@ -15,5 +17,11 @@
 
 	@ApiModelProperty(value ="会员姓名")
 	private String userName;
+	
+	@ApiModelProperty(value ="开始时间")
+	private Date startTime;
+	
+	@ApiModelProperty(value ="结束时间")
+	private Date endTime;
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java
index e3f1ca6..dd4c723 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java
@@ -13,5 +13,20 @@
 	
 	@ApiModelProperty(value ="需要处理的IDs(字符串逗号隔开)")
 	private String orderIds;
+	
+	@ApiModelProperty(value ="结算方式1,线下结算,2余额结算")
+	private Integer setType;
+	
+	@ApiModelProperty(value ="结算人数")
+	private Integer  manCount;
+	
+	@ApiModelProperty(value ="结算单数")
+	private Integer  orderCount;
+	
+	@ApiModelProperty(value ="结算金额")
+	private Double  amount;
+	
+	@ApiModelProperty(value ="备注")
+	private String  remark;
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java
index 9239bfd..fd8d9b2 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java
@@ -17,7 +17,15 @@
 	@Extend
 	private static final long serialVersionUID = 1L; 
 
-	
+	/**
+	 * 推广收益类型    推广收益
+	 */
+    public static final String TYPE_TGSY = "推广收益";
+    /**
+     * 推广收益类型   邀请收益
+     */
+   
+    public static final String TYPE_YQSY = "邀请收益";
 
 
 	
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java
index 176f3d8..66a9dc1 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java
@@ -15,9 +15,20 @@
 public class ShopSalemanSettlement  extends BaseEntity {
 	@Extend
 	private static final long serialVersionUID = 1L; 
-
+	/**
+	 * 结算编号头部编码
+	 */
+    public static final String ORDERNO_START = "J";
 	
+	/**
+	 * 结算方式 1 线下结算
+	 */
+    public static final Integer SETTLEMENTWAY_XXJS = 1;
 
+	/**
+	 * 结算方式 2 微信余额结算
+	 */
+	public static final Integer SETTLEMENTWAY_YEJS = 2;
 
 	
 	/**
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
index 786bf40..d9b69d5 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java
@@ -2,7 +2,6 @@
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -104,9 +103,9 @@
                     shopSalesmanApply.setGradeId(Long.parseLong(gradeId));
                 }else{
                     //获取初始等级ID(公司id,是否为初始等级)
-                    Wrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
-                    ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("company_id", loginUser.getCompanyId());
-                    ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("is_default", 1);
+                    QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
+                    queryWrapperOrepool.eq("company_id", loginUser.getCompanyId());
+                    queryWrapperOrepool.eq("is_default", 1);
                     ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool);
                     shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
                 }
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 7fce100..256be95 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
@@ -1,23 +1,43 @@
 package com.matrix.system.fenxiao.service;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 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.biz.bean.BizUser;
+import com.matrix.biz.dao.BizUserDao;
+import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.fenxiao.dao.ShopRevenueFlowDao;
+import com.matrix.system.fenxiao.dao.ShopSalemanSettlementDao;
 import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
 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.entity.ShopRevenueFlow;
+import com.matrix.system.fenxiao.entity.ShopSalemanSettlement;
 import com.matrix.system.fenxiao.entity.ShopSalesmanOrder;
 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.action.util.QueryUtil;
+import com.matrix.system.hive.service.CodeService;
+import com.matrix.system.shopXcx.bean.ShopOrder;
+import com.matrix.system.shopXcx.dao.ShopOrderDao;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @description 分销订单
@@ -29,6 +49,16 @@
 	
 	@Autowired
 	ShopSalesmanOrderDao shopSalesmanOrderDao;
+	@Autowired
+	CodeService codeService;
+	@Autowired
+	ShopSalemanSettlementDao shopSalemanSettlementDao;
+	@Autowired
+	ShopRevenueFlowDao shopRevenueFlowDao;
+	@Autowired
+	ShopOrderDao shopOrderDao;
+	@Autowired
+	BizUserDao bizUserDao;
 
 	public AjaxResult loadFenxiaoOrderBasic(LoadFenxiaoOrderBasicDto loadFenxiaoOrderBasicDto) {
 		//设置用户公司ID
@@ -71,41 +101,81 @@
 	public AjaxResult updateSetOrderDone(UpdateSetOrderDoneDto updateSetOrderDoneDto) {
 		//设置用户公司ID
 		QueryUtil.setQueryLimitCom(updateSetOrderDoneDto);
+		SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+		Long companyId = updateSetOrderDoneDto.getCompanyId();
+		Integer setType = updateSetOrderDoneDto.getSetType();
+		
 		String orderIds = updateSetOrderDoneDto.getOrderIds();
-		/**
 		if(StrUtil.isNotEmpty(orderIds)){
-			List<Integer> idsList = new ArrayList<>();
 			List<String> idsStringList = Arrays.asList(orderIds.split(","));
+			if(CollUtil.isEmpty(idsStringList)) {
+				return AjaxResult.buildFailInstance("请至少选择一条记录");
+			}
 			//产生订单结算记录
+			ShopSalemanSettlement shopSalemanSettlement = new ShopSalemanSettlement();
+			shopSalemanSettlement.setCompanyId(companyId);
+			shopSalemanSettlement.setCreateBy(MatrixConstance.SYSTEM_USER);
+			shopSalemanSettlement.setUpdateBy(MatrixConstance.SYSTEM_USER);
+			shopSalemanSettlement.setCreateTime(new Date());
+			shopSalemanSettlement.setUpdateTime(new Date());
+			shopSalemanSettlement.setOrderNo(codeService.getCodeByTyle(ShopSalemanSettlement.ORDERNO_START));
+			shopSalemanSettlement.setSettlementWay(setType);
+			shopSalemanSettlement.setManCount(updateSetOrderDoneDto.getManCount());
+			shopSalemanSettlement.setOrderCount(updateSetOrderDoneDto.getOrderCount());
+			shopSalemanSettlement.setUserId(user.getSuId().intValue());
+			shopSalemanSettlement.setAmount(updateSetOrderDoneDto.getAmount());
+			shopSalemanSettlement.setRemark(updateSetOrderDoneDto.getRemark());
+			shopSalemanSettlement.setCompanyId(companyId);
+			shopSalemanSettlementDao.insert(shopSalemanSettlement);
 			
-			//记录收益流水
-//			ShopRevenueFlow salesRevenueFlow=new ShopRevenueFlow();
-//			salesRevenueFlow.setCompanyId(order.getCompanyId());
-//			salesRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER);
-//			salesRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER);
-//			salesRevenueFlow.setCreateTime(new Date());
-//			salesRevenueFlow.setUpdateTime(new Date());
-//			salesRevenueFlow.setAmount(salesAmount);
-//			salesRevenueFlow.setUserId(salesmanOrder.getSalesUserId());
-//			salesRevenueFlow.setRevenueContent("推广收益");
-//			salesRevenueFlow.setBusinessId(salesmanOrder.getOrderId());
-//			shopRevenueFlowDao.insert(salesRevenueFlow);
-			
-			//收益流水
-//			ShopRevenueFlow invitationRevenueFlow=new ShopRevenueFlow();
-//			invitationRevenueFlow.setCompanyId(order.getCompanyId());
-//			invitationRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER);
-//			invitationRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER);
-//			invitationRevenueFlow.setCreateTime(new Date());
-//			invitationRevenueFlow.setUpdateTime(new Date());
-//			invitationRevenueFlow.setAmount(salesAmount);
-//			invitationRevenueFlow.setUserId(invitationOrder.getSalesUserId());
-//			invitationRevenueFlow.setRevenueContent("邀请收益");
-//			invitationRevenueFlow.setBusinessId(invitationOrder.getOrderId());
-//			shopRevenueFlowDao.insert(invitationRevenueFlow);
-	    	   
-	       }*/
-		return AjaxResult.buildFailInstance("操作成功");
+			for(String idString : idsStringList) {
+				long id = Long.parseLong(idString);
+				//更新分销订单
+				ShopSalesmanOrder shopSalesmanOrder = shopSalesmanOrderDao.selectById(id);
+				if(!ShopSalesmanOrder.STATUS_DJS.equals(shopSalesmanOrder.getOrderStatus())) {
+					return AjaxResult.buildFailInstance("选中记录中存在【已结算】的记录");
+				}
+				//判断原始订单的状态【4=待评价, 5=已评价】才能结算
+				ShopOrder shopOrder = shopOrderDao.selectById(shopSalesmanOrder.getOrderId().intValue());
+				if(ShopOrder.ORDER_STATUS_WAIT_REMARK != shopOrder.getOrderStatus() && 
+						ShopOrder.ORDER_STATUS_ALREADY_REMARK != shopOrder.getOrderStatus()) {
+					return AjaxResult.buildFailInstance("未收货订单不允许结算");
+				}
+				shopSalesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_YJS);
+				shopSalesmanOrder.setSettlementId(shopSalemanSettlement.getId());
+				shopSalesmanOrderDao.updateById(shopSalesmanOrder);
+				//记录流水
+				ShopRevenueFlow salesRevenueFlow=new ShopRevenueFlow();
+				salesRevenueFlow.setCompanyId(companyId);
+				salesRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER);
+				salesRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER);
+				salesRevenueFlow.setCreateTime(new Date());
+				salesRevenueFlow.setUpdateTime(new Date());
+				salesRevenueFlow.setAmount(shopSalesmanOrder.getAmount());
+				salesRevenueFlow.setUserId(shopSalesmanOrder.getSalesUserId());
+				if(ShopSalesmanOrder.REVENUE_TYPE_SALES.equals(shopSalesmanOrder.getRevenueType())) {
+					salesRevenueFlow.setRevenueContent(ShopRevenueFlow.TYPE_TGSY);
+				}
+				if(ShopSalesmanOrder.REVENUE_TYPE_INVITATION.equals(shopSalesmanOrder.getRevenueType())) {
+					salesRevenueFlow.setRevenueContent(ShopRevenueFlow.TYPE_YQSY);
+				}
+				salesRevenueFlow.setBusinessId(shopSalesmanOrder.getId());
+				shopRevenueFlowDao.insert(salesRevenueFlow);
+				//选择微信余额支付,更新用户的金额
+				if(ShopSalemanSettlement.SETTLEMENTWAY_YEJS == updateSetOrderDoneDto.getSetType()) {
+					BizUser findByOpenId = bizUserDao.findByOpenId(shopSalesmanOrder.getSalesUserId());
+					if(ObjectUtil.isEmpty(findByOpenId)) {
+						return AjaxResult.buildFailInstance("收益人信息不存在");
+					}
+					Double withdrawalCash = findByOpenId.getWithdrawalCash();
+					Double amount = shopSalesmanOrder.getAmount();
+					withdrawalCash = (withdrawalCash == null?0:withdrawalCash)+(amount== null?0:amount);
+					findByOpenId.setWithdrawalCash(withdrawalCash);
+					bizUserDao.updateByModel(findByOpenId);
+				}
+			}
+	    }
+		return AjaxResult.buildSuccessInstance("操作成功");
 	}
 
 
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java
index b397718..b0e5aef 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java
@@ -16,6 +16,8 @@
 	private Long id;
 	@ApiModelProperty(value = "订单编号")
 	private String orderNo;
+	@ApiModelProperty(value = "订单状态")
+	private Integer orderState;
 	@ApiModelProperty(value = "实付金额(元)")
 	private BigDecimal actualBalance;
 	@ApiModelProperty(value = "下单门店")
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java
index c1d410d..b769ec7 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java
@@ -1,13 +1,12 @@
 package com.matrix.system.fenxiao.vo;
 
-import java.math.BigDecimal;
-import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
-
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
 
 @Data
 @ApiModel(value = "LoadSetOrderListDtoVo", description = "返回类")
@@ -27,10 +26,10 @@
 	@ApiModelProperty(value = "结算时间")
 	private Date setTime;
 	@ApiModelProperty(value = "结算人")
-	private Integer setMan;
+	private String setMan;
 	@ApiModelProperty(value = "结算方式")
 	private BigDecimal settlementWay;
 	@ApiModelProperty(value = "备注")
-	private Integer remark;
+	private String remark;
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java
index 094d971..13508db 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java
@@ -28,6 +28,13 @@
 	String get32LenNumberCode();
 
 	public String getFlowCode();
+	/**
+	 * 生成一个加上typeName前缀的编号
+	 *    typeName+时间戳+四位随机数
+	 * @param typeName
+	 * @return
+	 */
+	public String getCodeByTyle(String typeName);
 	
 	/**
 	*  根据一定的规则返回一个随机编号。
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java
index cc94459..77c291c 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java
@@ -116,4 +116,9 @@
 	public String getFlowCode() {
 		return "F" + getNowTimeString();
 	}
+
+	@Override
+	public String getCodeByTyle(String typeName) {
+		return typeName+getNowTimeString()+ StringUtils.getRandomString(4);
+	}
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
index ae2981e..041b364 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -73,7 +73,7 @@
 		( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
 		WHERE user_id = a.user_id AND order_status = 1 AND sales_user_id = a.user_id ) balance,
 		g.NAME grade,
-		b.binding_parent_time createTime,
+		a.create_time createTime,
 		a.apply_status applyStatus,
 		a.apply_way applyWay
 		FROM
@@ -215,7 +215,7 @@
 		WHERE user_id = a.user_id AND order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
 		( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
 		WHERE user_id = a.user_id AND order_status = 1 AND sales_user_id = a.user_id ) balance,
-		b.binding_parent_time createTime,
+		a.create_time createTime,
 		a.apply_status applyStatus,
 		a.apply_way applyWay
 		FROM
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 34510ff..2dd7257 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
@@ -85,26 +85,52 @@
 	<select id="findFenxiaoOrderList" resultType="com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo">
 		SELECT
 		a.id id,
-		(select order_no from shop_order where id = a.order_id) orderNo,
-		(select order_money from shop_order where id = a.order_id) actualBalance,
-		(select store_name  from shop_store where store_id = (select store_id from shop_order where id = a.order_id)) address,
+		d.order_no,
+		d.order_money actualBalance,
+		f.shop_name address,
+		d.order_status orderState,
 		b.nick_name custom,
 		b.open_id customUserId,
-		(select nick_name from biz_user where open_id = b.parent_open_id) parentSale,
+		e.nick_name parentSale,
 		a.revenue_type profitType,
 		a.amount profitBalance,
 		a.order_status settleType,
 		c.order_no settleNo,
 		c.create_time settleTime,
-		(select nick_name from biz_user where c.user_id = open_id) settler
+		g.su_name settler
 		FROM
 		shop_salesman_order a
 		LEFT JOIN biz_user b on a.user_id = b.open_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 biz_user e on a.sales_user_id = e.open_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>
 		<if test="record.sort !=null">
@@ -121,16 +147,22 @@
 		a.order_count setNum,
 		a.man_count setManNum,
 		a.create_time setTime,
-		b.nick_name setMan,
+		b.su_name setMan,
 		a.settlement_way settlementWay,
 		a.remark remark
 		from
 		shop_saleman_settlement a
-		left join biz_user b on a.user_id = b.open_id
+		left join sys_users b on a.user_id = b.su_id
 		<where>
 			a.company_id = #{record.companyId}
 			<if test="record.userName != null and record.userName != ''">
-				and b.nick_name like concat('%',#{record.userName},'%')
+				and b.su_name like concat('%',#{record.userName},'%')
+			</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>
 		</where>
 		<if test="record.sort !=null">
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 217cabc..92aafbd 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
@@ -66,7 +66,7 @@
                     <el-dialog title="本次结算分销订单" :visible.sync="dialogFormVisible">
                         <el-form :model="formSelect">
                             <el-form-item label="结算金额:" :label-width="formLabelWidth">
-                                <div style="font-size: 30px;color: red">¥{{formSelect.jsje}}</div>
+                                <div style="font-size: 30px;color: #ff0000">¥{{formSelect.jsje}}</div>
                             </el-form-item>
                             <el-form-item label="结算订单:" :label-width="formLabelWidth">
                                 <div style="font-size: 20px;">{{formSelect.jsdds}}单</div>
@@ -89,8 +89,20 @@
                             <el-button type="primary" @click="updateSetOrderDone()">确 定</el-button>
                         </div>
                     </el-dialog>
+
                     <el-col>
                         <el-form ref="form" :model="form" inline >
+                            <el-form-item label="订单状态" prop="ddType">
+                                <el-select v-model="form.ddType" placeholder="订单状态">
+                                    <el-option
+                                            v-for="item in ddTypeList"
+                                            :key="item.value"
+                                            :label="item.label"
+                                            :value="item.value"
+                                    >
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
                             <el-form-item label="结算状态" prop="orderType">
                                 <el-select v-model="form.orderType" placeholder="结算状态">
                                     <el-option
@@ -103,28 +115,34 @@
                                 </el-select>
                             </el-form-item>
                             <el-form-item prop="userName" >
-                                <el-input v-model="form.userName" placeholder="请输入推广员名称"></el-input>
-                            </el-form-item>
-                            <el-form-item prop="userName" >
-                                <el-input v-model="form.userName" placeholder="选择订单时间范围"></el-input>
-                            </el-form-item>
-                            <el-form-item prop="userName" >
-                                <el-input v-model="form.userName" placeholder="请输入会员姓名"></el-input>
-                            </el-form-item>
-                            <el-form-item prop="userName" >
-                                <el-input v-model="form.userName" placeholder="请输入结算编号"></el-input>
-                            </el-form-item>
-                            <el-form-item prop="userName" >
-                                <el-input v-model="form.userName" placeholder="请输入订单号"></el-input>
-                            </el-form-item>
-                            <el-form-item prop="userName" >
                                 <el-input v-model="form.userName" placeholder="请输入客户名称"></el-input>
+                            </el-form-item>
+                            <el-form-item prop="tgy" >
+                                <el-input v-model="form.tgy" placeholder="请输入推广员名称"></el-input>
+                            </el-form-item>
+                            <el-form-item prop="ddsj" >
+                                <el-date-picker
+                                        v-model="form.ddsj"
+                                        type="datetimerange"
+                                        :picker-options="pickerOptions"
+                                        range-separator="至"
+                                        start-placeholder="开始日期"
+                                        end-placeholder="结束日期"
+                                        align="right">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item prop="jsbh" >
+                                <el-input v-model="form.jsbh" placeholder="请输入结算编号"></el-input>
+                            </el-form-item>
+                            <el-form-item prop="ddh" >
+                                <el-input v-model="form.ddh" placeholder="请输入订单号"></el-input>
                             </el-form-item>
                             <el-button type="primary" @click="search" >搜索</el-button>
                             <el-button @click="resetForm('form')">重置</el-button>
                         </el-form>
                     </el-col>
                 </el-row>
+
                 <el-row class="table-style" >
                     <el-table ref="multipleTable"
                               :data="fxyList.rows"
@@ -142,6 +160,20 @@
                         <el-table-column
                                 prop="actualBalance"
                                 label="实付金额(元)">
+                        </el-table-column>
+                        <el-table-column
+                                label="订单状态">
+                            <template slot-scope="scope">
+                                <span v-if="scope.row.orderState == 1">待付款</span>
+                                <span v-if="scope.row.orderState == 2">待配送</span>
+                                <span v-if="scope.row.orderState == 3">待收货</span>
+                                <span v-if="scope.row.orderState == 4">待评价</span>
+                                <span v-if="scope.row.orderState == 5">已评价</span>
+                                <span v-if="scope.row.orderState == 6">申请退款</span>
+                                <span v-if="scope.row.orderState == 7">退款成功</span>
+                                <span v-if="scope.row.orderState == 8">退款拒绝</span>
+                                <span v-if="scope.row.orderState == 9">已取消</span>
+                            </template>
                         </el-table-column>
                         <el-table-column
                                 prop="address"
@@ -176,7 +208,7 @@
                         </el-table-column>
                         <el-table-column
                                 prop="settleNo"
-                                label="结算编号">
+                                label="结算编号" width="150">
                         </el-table-column>
                         <el-table-column
                                 prop="settleTime"
@@ -186,12 +218,7 @@
                                 prop="settler"
                                 label="结算人">
                         </el-table-column>
-                        <el-table-column label="操作" width="240">
-                            <template slot-scope="scope">
-                                <el-row style="display:flex;">
-                                    <el-button type="primary" size="mini" @click="openExaminesaleMan(scope.row)">查看订单</el-button>
-                                </el-row>
-                            </template>
+                        <el-table-column label="操作">
                         </el-table-column>
                     </el-table>
                 </el-row>
@@ -212,6 +239,17 @@
                 <el-row style="display:flex;align-items: center;text-align: right;">
                     <el-col>
                         <el-form ref="formOrder" :model="formOrder" inline >
+                            <el-form-item prop="jssj" >
+                            <el-date-picker
+                                    v-model="formOrder.jssj"
+                                    type="datetimerange"
+                                    :picker-options="pickerOptions"
+                                    range-separator="至"
+                                    start-placeholder="开始日期"
+                                    end-placeholder="结束日期"
+                                    align="right">
+                            </el-date-picker>
+                        </el-form-item>
                             <el-form-item prop="userName">
                                 <el-input v-model="formOrder.userName" placeholder="请输入结算人姓名"></el-input>
                             </el-form-item>
@@ -295,11 +333,38 @@
         data: {
             activeName: 'first',
             height:'calc(100vh - 240px)',
-            //基本数据
+            //--基本数据
             basicdetail:{},
+            //--时间选择
+            pickerOptions: {
+                shortcuts: [{
+                    text: '最近一周',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
 
-
-            //选中操作
+            //--批量审核选中操作
             multipleSelection: [],
             orderIds:"",
             orderNums:0,
@@ -321,9 +386,26 @@
                 {value:2,label:'已结算'},
                 {value:3,label:'已退款'}
             ],
+            ddTypeList:[
+                {value:'',label:'全部'},
+                {value:1,label:'待付款'},
+                {value:2,label:'待配送'},
+                {value:3,label:'待收货'},
+                {value:4,label:'待评价'},
+                {value:5,label:'已评价'},
+                {value:6,label:'申请退款'},
+                {value:7,label:'退款成功'},
+                {value:8,label:'退款拒绝'},
+                {value:9,label:'已取消'}
+            ],
             form:{
                 userName:'',
                 orderType:'',
+                ddType:'',
+                ddsj: '',
+                tgy:'',
+                jsbh:'',
+                ddh:'',
                 order:'',
                 sort:''
             },
@@ -336,6 +418,7 @@
             //--结算记录
             formOrder:{
                 userName:'',
+                jssj:'',
                 order:'',
                 sort:''
             },
@@ -357,6 +440,7 @@
                 let _this = this;
                 _this.loadFenxiaoOrderBasic();
                 _this.loadFenxiaoOrderList();
+                _this.loadSetOrderList();
             },
             //--基础数据
             loadFenxiaoOrderBasic() {
@@ -390,8 +474,16 @@
             //查询参数
             getRequestParamOrder(){
                 let _this = this;
+                let startTime = '';
+                let endTime = '';
+                if(_this.formOrder.jssj.length > 0){
+                    startTime = _this.formOrder.jssj[0];
+                    endTime = _this.formOrder.jssj[1];
+                }
                 return   {
                     userName:_this.formOrder.userName,
+                    startTime:startTime,
+                    endTime:endTime,
                     order:_this.formOrder.order,
                     sort:_this.formOrder.sort,
                 }
@@ -432,8 +524,21 @@
             //查询参数
             getRequestParam(){
                 let _this = this;
+                let startTime = '';
+                let endTime = '';
+                if(_this.form.ddsj.length > 0){
+                    startTime = _this.form.ddsj[0];
+                    endTime = _this.form.ddsj[1];
+                }
                 return   {
+                    orderType:_this.form.orderType,
+                    ddType:_this.form.ddType,
+                    tgy:_this.form.tgy,
                     userName:_this.form.userName,
+                    jsbh:_this.form.jsbh,
+                    startTime:startTime,
+                    endTime:endTime,
+                    ddh:_this.form.ddh,
                     order:_this.form.order,
                     sort:_this.form.sort,
                 }
@@ -480,8 +585,8 @@
                 for (let i = 0; i < _this.multipleSelection.length; i++) {
                     let order = _this.multipleSelection[i];
                     //待审核的计算到弹出框
-                    let ordersetType = order.settleType;
-                    if(ordersetType == 1){
+                    let orderState = order.orderState;
+                    if(orderState == 4 || orderState == 5){
                         let orderId = order.id;
                         name.push(order.customUserId);
                         orderNum = orderNum + 1;
@@ -519,7 +624,7 @@
             setOrderDone() {
                 if(this.orderNumsDones > 0){
                     this.$message({
-                        message: '请取消已经结算的订单',
+                        message: '订单状态【待评价】和【已评价】才允许结算',
                         type: 'warning'
                     });
                 }else if(this.orderNums > 0){
@@ -535,6 +640,11 @@
                 let _this = this;
                 let obj = {
                     orderIds: _this.orderIds,
+                    setType: _this.formSelect.jsfs,
+                    manCount: _this.formSelect.jsrs,
+                    orderCount: _this.formSelect.jsdds,
+                    amount: _this.formSelect.jsje,
+                    remark: _this.formSelect.bz,
                 }
                 AjaxProxy.requst({
                     app: _this,
@@ -543,6 +653,7 @@
                     callback: function (data) {
                         _this.$message.success(data.info);
                         _this.loadFenxiaoOrderList();
+                        _this.dialogFormVisible = false;
                     }
                 });
             },
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
index 80c154c..5ced92d 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
@@ -574,11 +574,11 @@
                 }
             },
             changePageSize(val) {
-                this.table.pageSize = val;
+                this.fxyList.pageSize = val;
                 this.loadParamSetting();
             },
             changeCurrentPage(val) {
-                this.table.currentPage = val;
+                this.fxyList.currentPage = val;
                 this.loadParamSetting();
             },
             //时间格式化

--
Gitblit v1.9.1