| | |
| | | package com.matrix.system.hive.service.imp; |
| | | |
| | | import com.matrix.core.constance.MatrixConstance; |
| | | import com.matrix.core.exception.GlobleException; |
| | | import com.matrix.core.pojo.PaginationVO; |
| | | import com.matrix.core.tools.DateUtil; |
| | | import com.matrix.core.tools.ModelUtils; |
| | | import com.matrix.core.tools.StringUtils; |
| | | import com.matrix.core.tools.WebUtil; |
| | | import com.matrix.system.app.vo.UserAchieveVo; |
| | | import com.matrix.system.common.bean.SysUsers; |
| | | import com.matrix.system.common.dao.SysUsersDao; |
| | | import com.matrix.system.constance.Dictionary; |
| | | import com.matrix.system.hive.bean.*; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * This field was generated by Zking.software.Codegen. |
| | |
| | | achieveNew.setServiceOrderId(projServices.getId()); |
| | | achieveNew.setOrderItemId(beauticianState.getId()); |
| | | achieveNew.setShopId(projServices.getShopId()); |
| | | achieveNew.setCompanyId(projServices.getCompanyId()); |
| | | achieveNew.setShoppingGoodsId(projUse.getProjId()); |
| | | achieveNew.setNumberOfPeople(1D / size); |
| | | achieveNew.setProjNum(1); |
| | |
| | | achieveNewList.add(achieveNew); |
| | | } |
| | | } |
| | | } else { |
| | | // 如果该订单明细没有设置美疗师则单独设置顾问业绩 |
| | | AchieveNew achieveNew = new AchieveNew(); |
| | | // 顾问业绩等于收款金额 |
| | | achieveNew.setT1(orderItem.getPayMoney() + ""); |
| | | buildAchieve(pageOrder, orderItem, achieveNew); |
| | | // 新增顾问业绩 |
| | | achieveNewList.add(achieveNew); |
| | | } |
| | | } |
| | | } |
| | |
| | | ShoppingGoodsDao shoppingGoodsDao; |
| | | |
| | | private void buildAchieve(SysOrder pageOrder, SysOrderItem orderItem, AchieveNew achieveNew) { |
| | | if (Dictionary.ORDER_STATU_TK.equals(pageOrder.getStatu())) { |
| | | achieveNew.setId(null); |
| | | achieveNew.setProjPercentage(0 - achieveNew.getProjPercentage()); |
| | | achieveNew.setT1((0 - Double.parseDouble(achieveNew.getT1())) + ""); |
| | | } |
| | | |
| | | achieveNew.setVipId(pageOrder.getVipId()); |
| | | achieveNew.setSaleId(pageOrder.getStaffId()); |
| | | |
| | |
| | | achieveNew.setOrderId(pageOrder.getId()); |
| | | achieveNew.setOrderItemId(orderItem.getId()); |
| | | achieveNew.setShopId(pageOrder.getShopId()); |
| | | achieveNew.setCompanyId(pageOrder.getCompanyId()); |
| | | achieveNew.setShoppingGoodsId(orderItem.getGoodsId()); |
| | | // 是否赠送 |
| | | achieveNew.setT2(orderItem.getIsFree()); |
| | | // 根据商品类型设置业绩类型 |
| | | |
| | | String goodType = shoppingGoodsDao.selectById(orderItem.getGoodsId()).getGoodType(); |
| | | if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY) |
| | | && Dictionary.SHOPPING_GOODS_TYPE_XM.equals(goodType)) { |
| | | // 现金支付设置现金单次 |
| | | achieveNew.setProjCash(Double.parseDouble(achieveNew.getT1())); |
| | | |
| | | } else if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY) |
| | | && Dictionary.SHOPPING_GOODS_TYPE_JJCP.equals(goodType)) { |
| | | // 设置现金产品 |
| | | achieveNew.setGoodsCash(Double.parseDouble(achieveNew.getT1())); |
| | | } else if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY) |
| | | && (Dictionary.SHOPPING_GOODS_TYPE_TC.equals(goodType) |
| | | || Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(goodType) |
| | | || Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(goodType) |
| | | || Dictionary.SHOPPING_GOODS_TYPE_TCK.equals(goodType))) { |
| | | // 设置卡项 |
| | | if (Dictionary.ACHIEVE_TYPE_CASH.equals(achieveNew.getT3())){ |
| | | achieveNew.setCardCash(Double.parseDouble(achieveNew.getT1())); |
| | | } else if (!orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_CARD)) { |
| | | } else { |
| | | // 设置划扣金额 |
| | | achieveNew.setConsume(Double.parseDouble(achieveNew.getT1())); |
| | | } |
| | |
| | | public int findVipConsumeStatisticsTotal(AchieveNew achieveNew) { |
| | | return achieveNewDao.selectVipConsumeStatisticsTotal(achieveNew); |
| | | } |
| | | |
| | | @Override |
| | | public UserAchieveVo findUserAchieveByTime(int type) { |
| | | SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | Date startTime = calendar.getTime(); |
| | | Date endTime = calendar.getTime(); |
| | | switch (type) { |
| | | // 本日 |
| | | case 1 : |
| | | break; |
| | | // 昨日 |
| | | case 2: |
| | | startTime = DateUtil.previousNDate(startTime, 1); |
| | | endTime = startTime; |
| | | break; |
| | | // 本月 |
| | | case 3: |
| | | calendar.set(Calendar.DAY_OF_MONTH, 1); |
| | | startTime = calendar.getTime(); |
| | | break; |
| | | // 上月 |
| | | case 4: |
| | | calendar.add(Calendar.MONTH, -1); |
| | | calendar.set(Calendar.DAY_OF_MONTH, 1); |
| | | startTime = calendar.getTime(); |
| | | calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); |
| | | endTime = calendar.getTime(); |
| | | break; |
| | | default: |
| | | break; |
| | | |
| | | } |
| | | |
| | | return achieveNewDao.selectUserAchieveByTime(startTime, endTime, users.getSuId()); |
| | | } |
| | | |
| | | @Override |
| | | public List<AchieveNew> findOrderItemAchieve(Long orderId) { |
| | | return achieveNewDao.selectOrderItemAchieveByOrderId(orderId); |
| | | } |
| | | } |