“zhuo”
2024-01-08 b83bf6316bc81ba3e0eda5e934636bd8ee4c8304
员工数据对比
已修改5个文件
已添加1个文件
129 ■■■■■ 文件已修改
data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/dto/DataComparisonDto.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/resources/mapper/DataReportingMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
@@ -11,10 +11,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.dto.DataReportingCsvDto;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.dto.ProductCountDto;
import com.yuanchu.mom.dto.RegistrantCountDto;
import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.pojo.DataReporting;
import com.yuanchu.mom.pojo.FansSubmit;
@@ -279,4 +276,16 @@
        }
        return Result.success();
    }
    @ApiOperation(value = "获取数据对比列表")
    @PostMapping("/selectDataComparisonDtoPageList")
    public Result selectDataComparisonDtoPageList(@RequestBody Map<String, Object> data) {
        Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
        DataComparisonDto dataComparisonDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), DataComparisonDto.class);
        Map<String, Object> stringObjectMap = dataReportingService.selectDataComparisonDtoPageList(page, dataComparisonDto);
        return Result.success(stringObjectMap);
    }
    public static void main(String[] args) {
    }
}
data-server/src/main/java/com/yuanchu/mom/dto/DataComparisonDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.yuanchu.mom.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanchu.mom.annotation.ValueTableShow;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * @Author æˆ´å“
 * @Date 2024/1/8
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataComparisonDto {
    @ApiModelProperty("账号")
    @ValueTableShow(1)
    private String account;
    @ApiModelProperty("账户名")
    @ValueTableShow(2)
    private String name;
    @ApiModelProperty("账户消费金额")
    @ValueTableShow(3)
    private BigDecimal consumption;
    @ApiModelProperty("登记时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ValueTableShow(4)
    private LocalDateTime createTime;
    @ApiModelProperty("对比的账号")
    @ValueTableShow(5)
    private String comparisonAccount;
    @ApiModelProperty("对比的账户名")
    @ValueTableShow(6)
    private String comparisonName;
    @ApiModelProperty("对比的消费金额")
    @ValueTableShow(7)
    private BigDecimal comparisonConsumption;
    @ApiModelProperty("对比的登记时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ValueTableShow(8)
    private LocalDateTime comparisonCreateTime;
}
data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.DataComparisonDto;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.dto.ProductCountDto;
import com.yuanchu.mom.dto.RegistrantCountDto;
import com.yuanchu.mom.pojo.DataReporting;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
@@ -38,6 +41,7 @@
    Map<String, String> selectUser(Integer userId);
    IPage<DataComparisonDto> selectDataComparisonDtoPageList(Page page, DataComparisonDto dataComparisonDto);
}
data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
@@ -1,6 +1,8 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.DataComparisonDto;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.dto.ProductCountDto;
import com.yuanchu.mom.dto.RegistrantCountDto;
@@ -40,4 +42,6 @@
    String downFansSubmitFile(IPage<FansSubmit> page, FansSubmit fansSubmit);
    Map<String, Object> selectDataComparisonDtoPageList(Page page, DataComparisonDto dataComparisonDto);
}
data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
@@ -12,10 +12,13 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.DataComparisonDto;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.dto.ProductCountDto;
import com.yuanchu.mom.dto.RegistrantCountDto;
@@ -302,6 +305,24 @@
        writer.close();
        return name;
    }
    /**
     * èŽ·å–æ•°æ®å¯¹æ¯”åˆ—è¡¨
     */
    @Override
    public Map<String, Object> selectDataComparisonDtoPageList(Page page, DataComparisonDto dataComparisonDto) {
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(DataComparisonDto.class));
        if (StringUtils.isEmpty(dataComparisonDto.getName())
                || StringUtils.isEmpty(dataComparisonDto.getComparisonName())) {
            map.put("body", new Page<DataComparisonDto>());
        }else {
            IPage<DataComparisonDto> dataReportingPageDtoIPage = dataReportingMapper.selectDataComparisonDtoPageList(page, dataComparisonDto);
            map.put("body", dataReportingPageDtoIPage);
        }
        return map;
    }
}
data-server/src/main/resources/mapper/DataReportingMapper.xml
@@ -96,4 +96,32 @@
        select user.department, user.name, user.account from user
        where id = #{userId}
    </select>
    <select id="selectDataComparisonDtoPageList" resultType="com.yuanchu.mom.dto.DataComparisonDto">
        select a.account account,
               a.name name,
               a.account_consumption consumption,
               a.create_time createTime,
               b.account comparisonAccount,
               b.name comparisonName,
               b.account_consumption comparisonConsumption,
               b.create_time comparisonCreateTime
        from (select user.account,
                     user.name,
                     dr1.account_consumption,
                     dr1.create_time
              from data_reporting dr1
                       join user on dr1.create_user = user.id
              where date_format(dr1.create_time, '%Y-%m-%d') = date_format(#{dataComparisonDto.createTime}, '%Y-%m-%d')
                and user.name like concat('%', #{dataComparisonDto.name}, '%')) a,
             (select user.account,
                     user.name,
                     dr2.account_consumption,
                     dr2.create_time
              from data_reporting dr2
                       join user on dr2.create_user = user.id
              where date_format(dr2.create_time, '%Y-%m-%d') = date_format(#{dataComparisonDto.createTime}, '%Y-%m-%d')
                and user.name like concat('%', #{dataComparisonDto.comparisonName}, '%')) b
        where a.account_consumption != b.account_consumption
    </select>
</mapper>