Helius
2020-12-21 975888ed15a3326b824ebc6d28a769da56e3bcd8
modify
1 files added
5 files modified
162 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/api/action/UsersAction.java 15 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/api/vo/UserAchieveVo.java 80 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java 46 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml 14 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/api/action/UsersAction.java
@@ -1,8 +1,13 @@
package com.matrix.system.api.action;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.system.api.vo.UserAchieveVo;
import com.matrix.system.hive.service.AchieveNewService;
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.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -17,12 +22,20 @@
@RequestMapping(value = "/api/user")
public class UsersAction {
    @Autowired
    private AchieveNewService achieveNewService;
    @ApiOperation(value = "获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = UserAchieveVo.class)
    })
    @GetMapping(value = "/findUserAchieve/{type}")
    public AjaxResult findUserAchieve(@PathVariable("type") Integer type) {
        return null;
        UserAchieveVo achieveVo = achieveNewService.findUserAchieveByTime(type);
        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
        ajaxResult.putInMap("achieve", achieveVo);
        return ajaxResult;
    }
zq-erp/src/main/java/com/matrix/system/api/vo/UserAchieveVo.java
New file
@@ -0,0 +1,80 @@
package com.matrix.system.api.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
/**
 * @author wzy
 * @date 2020-12-21
 **/
@ApiModel(value = "UserAchieveVo", description = "员工业绩返回类")
public class UserAchieveVo {
    @ApiModelProperty(value = "总现金业绩")
    private BigDecimal allCash;
    @ApiModelProperty(value = "售卡业绩")
    private BigDecimal card;
    @ApiModelProperty(value = "项目业绩")
    private BigDecimal project;
    @ApiModelProperty(value = "产品业绩")
    private BigDecimal product;
    @ApiModelProperty(value = "余额划扣业绩")
    private BigDecimal cardUse;
    @ApiModelProperty(value = "服务提成")
    private BigDecimal projCommission;
    public BigDecimal getAllCash() {
        return allCash;
    }
    public void setAllCash(BigDecimal allCash) {
        this.allCash = allCash;
    }
    public BigDecimal getCard() {
        return card;
    }
    public void setCard(BigDecimal card) {
        this.card = card;
    }
    public BigDecimal getProject() {
        return project;
    }
    public void setProject(BigDecimal project) {
        this.project = project;
    }
    public BigDecimal getProduct() {
        return product;
    }
    public void setProduct(BigDecimal product) {
        this.product = product;
    }
    public BigDecimal getCardUse() {
        return cardUse;
    }
    public void setCardUse(BigDecimal cardUse) {
        this.cardUse = cardUse;
    }
    public BigDecimal getProjCommission() {
        return projCommission;
    }
    public void setProjCommission(BigDecimal projCommission) {
        this.projCommission = projCommission;
    }
}
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
@@ -1,9 +1,11 @@
package com.matrix.system.hive.dao;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.api.vo.UserAchieveVo;
import com.matrix.system.hive.bean.AchieveNew;
import org.apache.ibatis.annotations.Param;
@@ -56,4 +58,6 @@
    int selectVipConsumeStatisticsTotal(@Param("record") AchieveNew achieveNew);
    
    UserAchieveVo selectUserAchieveByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("userId") Long userId);
}
zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java
@@ -2,6 +2,7 @@
import java.util.List;
import com.matrix.system.api.vo.UserAchieveVo;
import com.matrix.system.hive.bean.AchieveNew;
import com.matrix.system.hive.bean.SysOrder;
import com.matrix.system.hive.bean.SysProjServices;
@@ -113,4 +114,6 @@
    int findVipConsumeStatisticsTotal(AchieveNew achieveNew);
    public UserAchieveVo findUserAchieveByTime(int type);
}
zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -1,9 +1,14 @@
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.api.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.*;
@@ -16,10 +21,7 @@
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.
@@ -317,4 +319,40 @@
    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());
    }
}
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -923,4 +923,18 @@
            and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID)
        </if>
    </select>
    <select id="selectUserAchieveByTime" resultType="com.matrix.system.api.vo.UserAchieveVo">
        select
            sum(IFNULL(proj_cash,0) + IFNULL(goods_cash,0) + IFNULL(card_cash,0)) allCash,
            sum(card_cash) card,
            sum(proj_cash) project,
            sum(goods_cash) product,
            sum(consume) cardUse,
            sum(proj_percentage) projCommission
        from achieve_new
        where sale_id=#{userId}
        and (date_format(datatime, "%Y-%m-%d") >= #{startTime} or #{endTime} >= date_format(datatime, "%Y-%m-%d"))
    </select>
</mapper>