From 26ffb618e472c3681f17b8b1b1a19ea55383928c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 12 Mar 2021 18:28:43 +0800 Subject: [PATCH] Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop --- zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html | 140 +++++++++++--- zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java | 11 + zq-erp/pom.xml | 4 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java | 75 ++++++-- zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java | 41 ++++ zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java | 27 +++ zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java | 71 +++++++ zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java | 2 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 84 +++++++++ zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 58 ++++++ 10 files changed, 457 insertions(+), 56 deletions(-) diff --git a/zq-erp/pom.xml b/zq-erp/pom.xml index 6590214..f11f7a0 100644 --- a/zq-erp/pom.xml +++ b/zq-erp/pom.xml @@ -394,12 +394,12 @@ <exclude>config/test/*</exclude> <exclude>config/xcx/*</exclude> - <!-- + <!----> <exclude>config/config.json</exclude> <exclude>config/application.properties</exclude> <exclude>config/system.properties</exclude> ---> + <exclude>**/*.woff</exclude> <exclude>**/*.woff2</exclude> diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java index 3658015..af0d1eb 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java @@ -8,6 +8,7 @@ import com.matrix.system.fenxiao.entity.ShopSalesmanApply; import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo; import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo; +import com.matrix.system.shopXcx.vo.SalesmanCenterInfo; import com.matrix.system.shopXcx.vo.SalesmanVo; import org.apache.ibatis.annotations.Param; @@ -31,4 +32,5 @@ IPage<ShopSalesmanAppliingVo> selectBizUserApplyList(Page<ShopSalesmanAppliingVo> page, @Param("record")ShopSalesmanAppliingDto shopSalesmanAppliingDto); + SalesmanCenterInfo selectSalesmanCenterInfo(String openId); } \ No newline at end of file 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 7fac417..9417d73 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 @@ -529,7 +529,7 @@ ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId); flow.setFlowContent(goods.getName() + "等" + sourceOrder.getItems().size() + "件产品"); // 若是退款,则取负数 - if (SysOrder.ORDER_TYPE_REFUND==sourceOrder.getOrderType()) { + if (Dictionary.ORDER_STATU_TK.equals(sourceOrder.getStatu())) { flow.setFlowType(SysOrderFlow.FLOW_TYPE_REFUND); flow.setAmount(flow.getAmount().negate()); flow.setOrderId(sourceOrder.getOldOrderId()); @@ -1316,6 +1316,88 @@ } + private void addRefundOrderFlow(SysOrder sourceOrder) { + //处理支付流水 + int flowCount = 1; + for (SysOrderFlow flow : sourceOrder.getFlows()) { + //支付内容摘要设置 + Long goodsId = sourceOrder.getItems().get(0).getGoodsId(); + ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId); + flow.setFlowContent(goods.getName() + "等" + sourceOrder.getItems().size() + "件产品"); + // 退款,则取负数 + flow.setFlowType(SysOrderFlow.FLOW_TYPE_REFUND); + flow.setAmount(flow.getAmount().negate()); + flow.setOrderId(sourceOrder.getOldOrderId()); + + //统计储值卡支付 + if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) { + if (flow.getCardId() != null) { + MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(flow.getCardId()); + //修改储值卡余额 + cardPaySk(moneyCardUse, sourceOrder, flow); + }else{ + throw new GlobleException("无效的储值卡支付方式"); + } + } + + flow.setFlowNo(codeService.getFlowCode() + "-" + flowCount); + flow.setVipId(sourceOrder.getVipId()); + flow.setShopId(sourceOrder.getShopId()); + flow.setCompanyId(sourceOrder.getCompanyId()); + sysOrderFlowDao.insert(flow); + flowCount++; + } + } + + private void refundCard(MoneyCardUse moneyCardUse, SysOrder sourceOrder, SysOrderFlow flow) { + SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + + MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); + if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) { + if (moneyCardUse.getGiftMoney() >= flow.getAmount().doubleValue()) { + double surplus = MoneyUtil.sub(moneyCardUse.getGiftMoney(), flow.getAmount().doubleValue()); + moneyCardUse.setGiftMoney(surplus); + moneyCardUseFlow.setGiftMoney(0D - flow.getAmount().doubleValue()); + } else { + throw new GlobleException(moneyCardUse.getCardName() + "余额不足"); + } + } else { + if (moneyCardUse.getRealMoney() >= flow.getAmount().doubleValue()) { + double surplus = MoneyUtil.sub(moneyCardUse.getRealMoney(), flow.getAmount().doubleValue()); + moneyCardUse.setRealMoney(surplus); + moneyCardUseFlow.setTotal(0 - flow.getAmount().doubleValue()); + } else { + throw new GlobleException(moneyCardUse.getCardName() + "余额不足"); + } + } + + if (moneyCardUse.getIsVipCar().equals(Dictionary.FLAG_NO_N)) { + //余额为0时充值卡变为无效 + if (moneyCardUse.getRealMoney().equals(0D) && moneyCardUse.getGiftMoney().equals(0D)) { + moneyCardUse.setIsOver(Dictionary.FLAG_YES_Y); + moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_WX); + } + } + + ShoppingGoods shoppingGoods = shoppingGoodsService.findById(moneyCardUse.getGoodsId()); + if (shoppingGoods != null) { + Date invalidTime = shoppingGoodsService.calInvalidTime(shoppingGoods, 2, moneyCardUse.getFailTime()); + moneyCardUse.setFailTime(invalidTime); + } + // 更新充值卡信息 + moneyCardUseDao.update(moneyCardUse); + //设置卡项使用流水 + moneyCardUseFlow.setCarUseId(moneyCardUse.getId()); + moneyCardUseFlow.setOrderNo(sourceOrder.getOrderNo()); + moneyCardUseFlow.setVipId(sourceOrder.getVipId()); + moneyCardUseFlow.setTimes(-1); + moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CONSUMER); + moneyCardUseFlow.setCreateTime(new Date()); + moneyCardUseFlow.setOperationId(user.getSuId()); + moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney() + moneyCardUse.getRealMoney()); + moneyCardUseFlowDao.insert(moneyCardUseFlow); + } + /** * 退款退项目,套餐,卡项 * @param sysOrder diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java new file mode 100644 index 0000000..94ee2bf --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java @@ -0,0 +1,71 @@ +package com.matrix.system.shopXcx.api.action; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.matrix.biz.bean.BizUser; +import com.matrix.biz.dao.BizUserDao; +import com.matrix.component.redis.RedisUserLoginUtils; +import com.matrix.core.pojo.AjaxResult; +import com.matrix.core.pojo.BasePageQueryDto; +import com.matrix.system.common.dao.BusParameterSettingsDao; +import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao; +import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao; +import com.matrix.system.fenxiao.service.ShopSalesmanApplyService; +import com.matrix.system.shopXcx.vo.SalesmanVo; +import io.swagger.annotations.Api; +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.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author jyy + * @date 2021-03-10 + **/ +@Api(tags = "分销订单接口类") +@RestController +@RequestMapping(value = "/wxapi/salesOrder") +public class WxSalesOrderAction { + + @Autowired + BusParameterSettingsDao busParameterSettingsDao; + + @Autowired + ShopSalesmanApplyDao salesmanApplyDao; + + + @Autowired + ShopSalesmanApplyService shopSalesmanApplyService; + + @Autowired + private RedisUserLoginUtils redisUserLoginUtils; + + @Autowired + private BizUserDao bizUserDao; + + @Autowired + private ShopSalesmanOrderDao shopSalesmanOrderDao; + + + @ApiOperation(value = "获取下级列表", notes = "keywords=1 推广订单,keywords=2 邀请订单") + @PostMapping(value = "/getOrderList") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = SalesmanVo.class) + }) + AjaxResult getInvitationuserList(@RequestBody BasePageQueryDto pageDto) { + BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); + Page<SalesmanVo> page=new Page<>(pageDto.getPageNum(),pageDto.getPageSize()); + IPage<SalesmanVo> shopSalesmanApplyIPage = salesmanApplyDao.selectInvitationuserInPage(page, loginUser.getOpenId(),pageDto.getKeywords()); + AjaxResult result=AjaxResult.buildSuccessInstance(shopSalesmanApplyIPage.getRecords()); + return result; + } + + + + + +} diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java index eaaf173..f2c9a3a 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java @@ -23,6 +23,7 @@ import com.matrix.system.fenxiao.entity.ShopSalesmanApply; import com.matrix.system.fenxiao.service.ShopSalesmanApplyService; import com.matrix.system.shopXcx.api.WeChatApiTools; +import com.matrix.system.shopXcx.vo.SalesmanCenterInfo; import com.matrix.system.shopXcx.vo.SalesmanVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -213,6 +214,16 @@ } + @ApiOperation(value = "查询分销员中心信息", notes = "") + @PostMapping(value = "/getSalesmanCenterInfo") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = SalesmanCenterInfo.class) + }) + AjaxResult getSalesmanCenterInfo() { + BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); + SalesmanCenterInfo salesmanCenterInfo= salesmanApplyDao.selectSalesmanCenterInfo(loginUser.getOpenId()); + return AjaxResult.buildSuccessInstance(salesmanCenterInfo); + } diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java index 2979ca3..a61c024 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java @@ -11,6 +11,7 @@ import com.matrix.system.constance.Dictionary; import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao; import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao; +import com.matrix.system.fenxiao.entity.ShopSalesmanGrade; import com.matrix.system.fenxiao.entity.ShopSalesmanOrder; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; @@ -25,6 +26,7 @@ import com.matrix.system.shopXcx.dao.ShopSkuDao; import com.rabbitmq.client.DeliverCallback; import com.rabbitmq.client.Delivery; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -265,38 +267,73 @@ if(StringUtils.isNotBlank(bizUser.getParentOpenId())){ LogUtil.debug("处理分销订单userOpid={}",bizUser.getOpenId()); //存在上级 - ShopSalesmanOrder shopSalesmanOrder=new ShopSalesmanOrder(); - shopSalesmanOrder.setCompanyId(order.getCompanyId()); - shopSalesmanOrder.setCreateBy(MatrixConstance.SYSTEM_USER); - shopSalesmanOrder.setUpdateBy(MatrixConstance.SYSTEM_USER); - shopSalesmanOrder.setCreateTime(new Date()); - shopSalesmanOrder.setUpdateTime(new Date()); - shopSalesmanOrder.setOrderId(Long.parseLong(order.getId()+"")); - shopSalesmanOrder.setUserId(order.getUserId()); - shopSalesmanOrder.setSalesUserId(bizUser.getParentOpenId()); - shopSalesmanOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_SALES); - shopSalesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_DJS); - Double amount=0D; + ShopSalesmanOrder salesmanOrder=new ShopSalesmanOrder(); + salesmanOrder.setCompanyId(order.getCompanyId()); + salesmanOrder.setCreateBy(MatrixConstance.SYSTEM_USER); + salesmanOrder.setUpdateBy(MatrixConstance.SYSTEM_USER); + salesmanOrder.setCreateTime(new Date()); + salesmanOrder.setUpdateTime(new Date()); + salesmanOrder.setOrderId(Long.parseLong(order.getId()+"")); + salesmanOrder.setUserId(order.getUserId()); + salesmanOrder.setSalesUserId(bizUser.getParentOpenId()); + salesmanOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_SALES); + salesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_DJS); + Double salesAmount=0D; + Double invitationAmount=0D; + Double orderTotal=0D; + Double zk=1D; + + BizUser salesMan=bizUserService.findByOpenId(bizUser.getParentOpenId()); + BizUser invitationMan=null; + ShopSalesmanOrder invitationOrder=null; + boolean hasInvitationMan=StringUtils.isNotBlank(salesMan.getParentOpenId()); + + //判断推广员是否还存在上级,存在则计算邀请收益 + if(hasInvitationMan){ + invitationMan=bizUserService.findByOpenId(salesMan.getParentOpenId()); + invitationOrder=new ShopSalesmanOrder(); + BeanUtils.copyProperties(salesmanOrder,invitationOrder); + invitationOrder.setSalesUserId(invitationMan.getOpenId()); + invitationOrder.setRevenueType(ShopSalesmanOrder.REVENUE_TYPE_INVITATION); + } + + //收益计算 for (ShopOrderDetails item:order.getDetails() ){ if(StringUtils.isNotBlank(item.getShopProduct().getAttrValues()) && item.getShopProduct().getAttrValues().contains("分销商城")){ if(item.getShopSku().getSealesPrice()==null ||item.getShopSku().getSealesPrice().doubleValue()==0){ //按分销等级计算 - BizUser salesMan=bizUserService.findByOpenId(bizUser.getParentOpenId()); - shopSalesmanGradeDao.selectById(salesMan.getSalesmanGrade()); + ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(salesMan.getSalesmanGrade()); + salesAmount+=item.getTotalPrice().doubleValue()*(shopSalesmanGrade.getSealesCommission()/100); + + if(hasInvitationMan){ + ShopSalesmanGrade invitationManGrade = shopSalesmanGradeDao.selectById(invitationMan.getSalesmanGrade()); + invitationAmount+=item.getTotalPrice().doubleValue()*(invitationManGrade.getInvitationCommission()/100); + } }else{ - //按产品设置的金额计算 - amount+=item.getShopSku().getSealesPrice().doubleValue(); + //按产品设置的推广金额计算 + salesAmount+=item.getShopSku().getSealesPrice().doubleValue()*item.getCount(); + if(hasInvitationMan){ + invitationAmount+=item.getShopSku().getInvitationPrice().doubleValue()*item.getCount(); + } } - + orderTotal+=item.getTotalPrice().doubleValue(); } } + //整体的优惠金额折算成折扣,* 佣金 + zk=order.getOrderMoney().doubleValue()/orderTotal; + salesAmount=salesAmount*zk; + salesmanOrder.setAmount(salesAmount); + shopSalesmanOrderDao.insert(salesmanOrder); - - + if(hasInvitationMan){ + invitationAmount=invitationAmount*zk; + invitationOrder.setAmount(invitationAmount); + shopSalesmanOrderDao.insert(invitationOrder); + } }else{ LogUtil.debug("不存在父级userOpid={}",bizUser.getOpenId()); diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java new file mode 100644 index 0000000..794706e --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java @@ -0,0 +1,27 @@ +package com.matrix.system.shopXcx.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel(value = "SalesOrderVo", description = " 推广订单信息返回类") +public class SalesOrderVo { + + + @ApiModelProperty(value = "订单id") + private Long orderId ; + + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + + + + +} diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java new file mode 100644 index 0000000..f75ff89 --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java @@ -0,0 +1,41 @@ +package com.matrix.system.shopXcx.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "SalesmanCenterInfo", description = " 销售员中心返回参数") +public class SalesmanCenterInfo { + + @ApiModelProperty(value = "累计收益") + private String totalRevenue; + + + @ApiModelProperty(value = "分销佣金") + private String salesRevenue; + + @ApiModelProperty(value = "邀请奖励") + private String invitationRevenue; + + + + @ApiModelProperty(value = "待结算收益") + private String djsRevenue; + + + @ApiModelProperty(value = "可提现金额") + private String withdrawalCash; + + @ApiModelProperty(value = "推广订单数") + private String orderCount; + + + @ApiModelProperty(value = "客户数") + private Double customerCount; + + @ApiModelProperty(value = "邀请下级数") + private Double invitationCount; + + +} 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 7c8028c..aa9d95c 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml @@ -46,7 +46,7 @@ shop_salesman_order b WHERE b.user_id = a.open_id - and order_status=1 + and order_status=2 AND b.sales_user_id = #{openId} ) AS revenueAmount, @@ -136,4 +136,60 @@ </if> </select> + <select id="selectSalesmanCenterInfo" resultType="com.matrix.system.shopXcx.vo.SalesmanCenterInfo"> + select + IFNULL(withdrawal_cash,0) as withdrawal_cash, + ( + SELECT + IFNULL(sum(IFNULL( b.amount, 0 )),0) + FROM + shop_salesman_order b + WHERE + b.user_id = a.open_id + and order_status=2 + AND b.sales_user_id = #{openId} + + ) AS totalRevenue, + ( + SELECT + IFNULL(sum(IFNULL( b.amount, 0 )),0) + FROM + shop_salesman_order b + WHERE + b.user_id = a.open_id + and order_status=2 and revenue_type=1 + AND b.sales_user_id = #{openId} + + ) AS salesRevenue, + ( + SELECT + IFNULL(sum(IFNULL( b.amount, 0 )),0) + FROM + shop_salesman_order b + WHERE + b.user_id = a.open_id + and order_status=2 and revenue_type=2 + AND b.sales_user_id = #{openId} + + ) AS invitationRevenue, + IFNULL(withdrawal_cash,0) as withdrawal_cash, + ( + SELECT + IFNULL(sum(IFNULL( b.amount, 0 )),0) + FROM + shop_salesman_order b + WHERE + b.user_id = a.open_id + and order_status=1 + AND b.sales_user_id = #{openId} + + ) AS djsRevenue, + ( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} ) AS orderCount, + (select count(*) from biz_user where parent_open_id=#{openId} and is_sales=1) as invitationCount, + (select count(*) from biz_user where parent_open_id=#{openId} and is_sales=2) as customerCount + from biz_user a where + a.open_id=#{openId} + + </select> + </mapper> \ No newline at end of file diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html index 12f1b8c..1d204ba 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html @@ -101,9 +101,22 @@ width="50"> </el-table-column> <el-table-column + label="业绩类型" width="150"> + <template slot-scope="scope"> + <el-select v-model="scope.row.achieveType" @change="calculationAchieve" placeholder="请选择业绩类型"> + <el-option + v-for="item in achieveTypeList" + :key="item.value" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </template> + </el-table-column> + <el-table-column label="业绩" width="100"> <template slot-scope="scope"> - <el-input v-model="scope.row.achieveMoney"></el-input> + <el-input @input="checkAchieveMoney" v-model="scope.row.goodsCash"></el-input> </template> </el-table-column> <el-table-column @@ -169,6 +182,7 @@ cardInfo : "", loginUser : "", rechargeMoney : 0, + achieveTypeList : [], payMethods: [{ value: '现金支付', img: '/images/pay/cash.png', @@ -219,28 +233,40 @@ } }); - //获取登录用户信息 + + // 业绩类型 AjaxProxy.requst({ app: _this, - url: basePath + '/admin/getLoginUser', + url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX', callback: function (data) { - _this.loginUser = data.mapInfo.user; + _this.achieveTypeList = data.rows; - _this.achieveList.push({ - saleId: _this.loginUser.suId, - achieveMoney: 0, - commission : 0, - isShare: false, + //获取登录用户信息 + AjaxProxy.requst({ + app: _this, + url: basePath + '/admin/getLoginUser', + callback: function (data) { + _this.loginUser = data.mapInfo.user; + + _this.achieveList.push({ + saleId: _this.loginUser.suId, + goodsCash: 0, + achieveType : _this.achieveTypeList[0].value, + commission : 0, + isShare: false, + }); + } }); } }); + }, methods : { //修改充值金额同步修改业绩 changeRechargeMoney(){ let aMoeny=(this.rechargeMoney/this.achieveList.length).toFixed(2); this.achieveList.forEach(item=>{ - item.achieveMoney=aMoeny; + item.goodsCash=aMoeny; }); }, submitRecharge() { @@ -280,37 +306,39 @@ _this.achieveList.forEach(achieve => { let achieveNew = { beaultId: achieve.saleId, - t1: achieve.achieveMoney, - t3: '现金业绩', + goodsCash: achieve.goodsCash, + achieveType: achieve.achieveType, projPercentage: achieve.commission, }; achaeveList.push(achieveNew); }) _this.cardInfo.bjmoney = _this.rechargeMoney; _this.cardInfo.achaeveList = achaeveList; - let url = basePath + "/admin/moneyCardUse/cz"; + if (_this.checkAchieveMoney()) { + let url = basePath + "/admin/moneyCardUse/cz"; - console.log(_this.cardInfo); - AjaxProxy.requst({ - app: _this, - data: _this.cardInfo, - url: url, - callback: function (data) { - if (_this.printPaper) { - _this.print(); + console.log(_this.cardInfo); + AjaxProxy.requst({ + app: _this, + data: _this.cardInfo, + url: url, + callback: function (data) { + if (_this.printPaper) { + _this.print(); + } + + if(parent.myGrid) { + parent.myGrid.serchData(); + } + + if (parent.app) { + parent.app.vipInfoFn(); + } + + _this.closeFrame(); } - - if(parent.myGrid) { - parent.myGrid.serchData(); - } - - if (parent.app) { - parent.app.vipInfoFn(); - } - - _this.closeFrame(); - } - }); + }); + } }, cancelSubmit() { this.closeFrame(); @@ -379,10 +407,56 @@ row2 = JSON.parse(JSON.stringify(row)); row2.isShare = true; this.achieveList.push(row2); + this.calculationAchieve(); + }, + calculationAchieve() { + let _this = this; + let jsqMap = {}; + this.achieveList.forEach(achieve=>{ + key=achieve.achieveType; + if(!jsqMap[key]) { + jsqMap[key]=1; + } else { + jsqMap[key]++; + } + }); + this.achieveList.forEach(achieve=>{ + key = achieve.achieveType; + achieve.goodsCash=(_this.rechargeMoney/jsqMap[key]).toFixed(2); + }); }, //删除业绩 delAchieve(index, row) { this.achieveList.splice(index, 1); + this.calculationAchieve(); + }, + checkAchieveMoney(){ + console.log("校验业绩是否大于订单收款金额"); + let _this = this; + let jsqMap={}; + let isOk=true; + for(let i=0 ; i< this.achieveList.length; i++){ + let achieve=this.achieveList[i]; + if(!isNaN(achieve.goodsCash) ){ + key=achieve.achieveType; + if(!jsqMap[key]){ + jsqMap[key]=parseFloat(achieve.goodsCash); + }else{ + jsqMap[key]=jsqMap[key]+parseFloat(achieve.goodsCash); + } + if(jsqMap[key]>_this.rechargeMoney) { + this.$message.error("业绩分配金额大于支付金额"); + isOk = false; + return; + } + }else{ + this.$message.error("业绩分配金额请填写数字"); + isOk=false; + return; + } + }; + console.log("isOk",isOk); + return isOk; }, } }); -- Gitblit v1.9.1