From d0c3258ed4871f2b9f03357bfd39b6caeff156b0 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期二, 09 一月 2024 11:07:59 +0800
Subject: [PATCH] 修订版3.0

---
 data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java    |    2 
 data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java |   16 ++
 data-server/src/main/resources/mapper/FinanceSubmitMapper.xml                        |   14 --
 data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java          |    3 
 data-server/src/main/java/com/yuanchu/mom/dto/DataComparisonDto.java                 |    2 
 data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java    |   68 +++++++++++++
 data-server/src/main/java/com/yuanchu/mom/pojo/FinanceSubmit.java                    |    3 
 data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java |   50 +++++++++
 data-server/src/main/resources/mapper/DataReportingMapper.xml                        |  135 ++++++++++++++------------
 9 files changed, 209 insertions(+), 84 deletions(-)

diff --git a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
index 0704d60..2aa2035 100644
--- a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
+++ b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
@@ -286,6 +286,72 @@
         return Result.success(stringObjectMap);
     }
 
-    public static void main(String[] args) {
+    @ApiOperation(value = "瀵煎嚭璐㈠姟涓婃姤鍒楄〃")
+    @PostMapping("/downFinanceSubmitFile")
+    public Result downFinanceSubmitFile(@RequestBody Map<String, Object> data) {
+        Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+        FinanceSubmit financeSubmit = JSON.parseObject(JSON.toJSONString(data.get("entity")), FinanceSubmit.class);
+        return Result.success("瀵煎嚭鎴愬姛", dataReportingService.downFinanceSubmitFile(page, financeSubmit));
+    }
+
+    @ApiOperation(value = "瀵煎叆璐㈠姟涓婃姤鍒楄〃")
+    @PostMapping("/inputFinanceSubmitCsv")
+    public Result<?> inputFinanceSubmitCsv(@RequestParam("file") MultipartFile file) throws IOException {
+        CsvReader reader = CsvUtil.getReader();
+        CsvData data = reader.read(new InputStreamReader(file.getInputStream(), "GB2312"));
+        List<CsvRow> rows = data.getRows();
+        String format;
+        try {
+            format = new SimpleDateFormat("yyyy-MM-dd").format(new SimpleDateFormat("yyyyMMdd").parse(rows.get(2).get(0).split("锛�")[1]));
+        } catch (ParseException e) {
+            throw new ErrorException("鏂囦欢涓棩鏈熷湪杞崲鏃跺嚭鐜伴敊璇�");
+        }
+        for (int i = 6; i < rows.size(); i++) {
+            FinanceSubmit financeSubmit = new FinanceSubmit();
+            for (int i1 = 0; i1 < rows.get(5).size(); i1++) {
+                String str = rows.get(i).get(i1);
+                if (str == null) continue;
+                switch (rows.get(5).get(i1)) {
+                    case "浠g悊鍟�":
+                        financeSubmit.setCompany(str);
+                        break;
+                    case "璐︽埛鍚�":
+                        financeSubmit.setName(str);
+                        break;
+                    case "閲戦":
+                        try {
+                            financeSubmit.setConsumption(new BigDecimal(str));
+                        } catch (Exception e) {
+                        }
+                        break;
+                    case "浠g悊杩旂偣":
+                        try {
+                            financeSubmit.setAgentRebate(new BigDecimal(str));
+                        } catch (Exception e) {
+                        }
+                        break;
+                    case "鎵撴浜烘皯甯�":
+                        try {
+                            financeSubmit.setMoney(new BigDecimal(str));
+                        } catch (Exception e) {
+                        }
+                        break;
+                    case "鍛樺伐杩旂偣":
+                        try {
+                            financeSubmit.setEmployeeRebate(new BigDecimal(str));
+                        } catch (Exception e) {
+                        }
+                        break;
+                    case "鍛樺伐杩旂偣浜烘皯甯�":
+                        try {
+                            financeSubmit.setEmployeeRebateMoney(new BigDecimal(str));
+                        } catch (Exception e) {
+                        }
+                        break;
+                }
+            }
+            financeSubmitService.addFinanceSubmit(financeSubmit, format);
+        }
+        return Result.success();
     }
 }
diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/DataComparisonDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/DataComparisonDto.java
index dacc791..3b72388 100644
--- a/data-server/src/main/java/com/yuanchu/mom/dto/DataComparisonDto.java
+++ b/data-server/src/main/java/com/yuanchu/mom/dto/DataComparisonDto.java
@@ -33,7 +33,6 @@
 
     @ApiModelProperty("鐧昏鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ValueTableShow(4)
     private LocalDateTime createTime;
 
     @ApiModelProperty("瀵规瘮鐨勮处鍙�")
@@ -50,6 +49,5 @@
 
     @ApiModelProperty("瀵规瘮鐨勭櫥璁版椂闂�")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ValueTableShow(8)
     private LocalDateTime comparisonCreateTime;
 }
diff --git a/data-server/src/main/java/com/yuanchu/mom/pojo/FinanceSubmit.java b/data-server/src/main/java/com/yuanchu/mom/pojo/FinanceSubmit.java
index 4cca3bc..20dfcec 100644
--- a/data-server/src/main/java/com/yuanchu/mom/pojo/FinanceSubmit.java
+++ b/data-server/src/main/java/com/yuanchu/mom/pojo/FinanceSubmit.java
@@ -13,6 +13,7 @@
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -27,7 +28,7 @@
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class FinanceSubmit implements Serializable {
+public class FinanceSubmit extends OrderBy implements Serializable {
 
     /**
     * 涓婚敭
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
index ea9d584..75e00b1 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
@@ -9,6 +9,7 @@
 import com.yuanchu.mom.pojo.DataReporting;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yuanchu.mom.pojo.FansSubmit;
+import com.yuanchu.mom.pojo.FinanceSubmit;
 
 import java.util.List;
 import java.util.Map;
@@ -44,4 +45,6 @@
 
     Map<String, Object> selectDataComparisonDtoPageList(Page page, DataComparisonDto dataComparisonDto);
 
+    String downFinanceSubmitFile(IPage<FinanceSubmit> page, FinanceSubmit financeSubmit);
+
 }
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
index 6df59c6..3a1de81 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
@@ -25,9 +25,11 @@
 import com.yuanchu.mom.mapper.FansSubmitMapper;
 import com.yuanchu.mom.pojo.DataReporting;
 import com.yuanchu.mom.pojo.FansSubmit;
+import com.yuanchu.mom.pojo.FinanceSubmit;
 import com.yuanchu.mom.service.DataReportingService;
 import com.yuanchu.mom.mapper.DataReportingMapper;
 import com.yuanchu.mom.service.FansSubmitService;
+import com.yuanchu.mom.service.FinanceSubmitService;
 import com.yuanchu.mom.utils.Jwt;
 import com.yuanchu.mom.utils.QueryWrappers;
 import com.yuanchu.mom.utils.ServletUtils;
@@ -74,6 +76,9 @@
     @Resource
     private FansSubmitService fansSubmitService;
 
+    @Resource
+    private FinanceSubmitService financeSubmitService;
+
     @Override
     public Map<String, Object> selectDataReportingList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) {
         Map<String, Object> map = new HashMap<>();
@@ -100,6 +105,15 @@
             dataReporting2.setConsumption(dataReporting.getCustomerCosts().multiply(BigDecimal.valueOf(dataReporting.getFansAdd())));
         } catch (Exception e) {
         }
+        try {
+            dataReporting2.setDiscountedConsumption(dataReporting.getConsumption().divide(dataReporting.getAgentRebate(), 2, RoundingMode.HALF_UP));
+        }catch (Exception e){}
+        try {
+            dataReporting2.setActualCost(dataReporting.getAccountConsumption().divide(new BigDecimal(dataReporting.getFansAdd()), 2, RoundingMode.HALF_UP));
+        }catch (Exception e){}
+        try {
+            dataReporting2.setProfit(dataReporting.getRebateConsumption().subtract(dataReporting.getConsumption()));
+        }catch (Exception e){}
         return dataReportingMapper.updateById(dataReporting2);
     }
 
@@ -144,7 +158,7 @@
             if (date == null) {
                 date = LocalDate.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
             };
-            DataReporting one = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getProduct, dataReporting.getProduct()).eq(DataReporting::getName, dataReporting.getName()).like(DataReporting::getCreateTime, date));
+            DataReporting one = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getProduct, dataReporting.getProduct()).eq(DataReporting::getName, dataReporting.getName()).eq(DataReporting::getCreateUser, userId).like(DataReporting::getCreateTime, date));
             try {
                 dataReporting.setRebateConsumption(dataReporting.getAccountConsumption().divide(dataReporting.getCustomerRebate(), 2, RoundingMode.HALF_UP));
             } catch (Exception e) {
@@ -199,7 +213,7 @@
         CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK);
         writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time});
         writer.write(new String[]{});
-        writer.write(new String[]{});
+        writer.write(new String[]{"鏃堕棿鑼冨洿锛�"+dataReportingPageDto.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))});
         writer.write(new String[]{});
         writer.write(new String[]{});
         List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class);
@@ -286,7 +300,36 @@
         CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK);
         writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time});
         writer.write(new String[]{});
+        writer.write(new String[]{"鏃堕棿鑼冨洿锛�"+fansSubmit.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))});
         writer.write(new String[]{});
+        writer.write(new String[]{});
+        List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class);
+        String[] str = new String[head.size()];
+        for (int i = 0; i < head.size(); i++) {
+            str[i] = head.get(i).get("value");
+        }
+        writer.write(str);
+        JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{
+            Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class);
+            for (int i = 0; i < head.size(); i++) {
+                str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+"";
+            }
+            writer.write(str);
+        });
+        writer.close();
+        return name;
+    }
+
+    @Override
+    public String downFinanceSubmitFile(IPage<FinanceSubmit> page, FinanceSubmit financeSubmit) {
+        Map<String, Object> map = financeSubmitService.selectFinanceSubmitList(page, financeSubmit);
+        String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy_MM_dd_HH_mm_ss"));
+        String name = "璐㈠姟涓婃姤" + time + ".csv";
+        String path = outPath + name;
+        CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK);
+        writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time});
+        writer.write(new String[]{});
+        writer.write(new String[]{"鏃堕棿鑼冨洿锛�"+financeSubmit.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))});
         writer.write(new String[]{});
         writer.write(new String[]{});
         List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class);
@@ -318,7 +361,10 @@
                 || StringUtils.isEmpty(dataComparisonDto.getComparisonName())) {
             map.put("body", new Page<DataComparisonDto>());
         }else {
+            long startTime = System.currentTimeMillis();
             IPage<DataComparisonDto> dataReportingPageDtoIPage = dataReportingMapper.selectDataComparisonDtoPageList(page, dataComparisonDto);
+            long endTime = System.currentTimeMillis();
+            System.out.println("鎵ц鏃堕棿锛�" + (endTime - startTime) + " 姣");
             map.put("body", dataReportingPageDtoIPage);
         }
         return map;
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
index 4865a3d..5177530 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
@@ -75,7 +75,7 @@
     @Override
     public int addFansSubmit(FansSubmit fansSubmit, String date) {
         if(date == null) date = getYesterday();
-        DataReporting dataReporting = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getName, fansSubmit.getCustom()).eq(DataReporting::getProduct, fansSubmit.getProduct()).like(DataReporting::getCreateTime, date));
+        DataReporting dataReporting = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getName, fansSubmit.getCustom()).eq(DataReporting::getProduct, fansSubmit.getProduct()).eq(DataReporting::getCreateUser, getLook.selectPowerByMethodAndUserId("selectRegistrantCountDtoPageList").get("userId")).like(DataReporting::getCreateTime, date));
         if(ObjectUtil.isEmpty(dataReporting)){
             throw new ErrorException(date+" 瀹㈡埛锛�"+fansSubmit.getCustom()+" 骞舵湭涓婃姤杩� "+fansSubmit.getProduct()+" 椤圭洰");
         }
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java
index 3c4bd95..612bef2 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/FinanceSubmitServiceImpl.java
@@ -11,12 +11,14 @@
 import com.yuanchu.mom.pojo.DataReporting;
 import com.yuanchu.mom.pojo.FansSubmit;
 import com.yuanchu.mom.pojo.FinanceSubmit;
+import com.yuanchu.mom.service.DataReportingService;
 import com.yuanchu.mom.service.FinanceSubmitService;
 import com.yuanchu.mom.mapper.FinanceSubmitMapper;
 import com.yuanchu.mom.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
@@ -55,17 +57,27 @@
 
     @Override
     public int updateFinanceSubmit(FinanceSubmit financeSubmit) {
+        DataReporting reporting = dataReportingMapper.selectById(financeSubmit.getDataId());
+        reporting.setId(financeSubmit.getDataId());
+        reporting.setAgentRebate(financeSubmit.getEmployeeRebate());
+        try {
+            reporting.setDiscountedConsumption(reporting.getConsumption().divide(reporting.getAgentRebate(), 2, RoundingMode.HALF_UP));
+        }catch (Exception e){}
+        dataReportingMapper.updateById(reporting);
         return financeSubmitMapper.updateById(financeSubmit);
     }
 
     @Override
     public int addFinanceSubmit(FinanceSubmit financeSubmit, String date) {
         if(date == null) date = getYesterday();
-        DataReporting dataReporting = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getAgent, financeSubmit.getCompany()).eq(DataReporting::getName, financeSubmit.getName()).like(DataReporting::getCreateTime, date));
+        DataReporting dataReporting = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getAgent, financeSubmit.getCompany()).eq(DataReporting::getName, financeSubmit.getName()).eq(DataReporting::getCreateUser, getLook.selectPowerByMethodAndUserId("selectRegistrantCountDtoPageList").get("userId")).like(DataReporting::getCreateTime, date));
         if(ObjectUtil.isEmpty(dataReporting)){
-            throw new ErrorException(date+" 璐︽埛锛�"+financeSubmit.getName()+" 鐨勪唬鐞嗗晢锛�"+financeSubmit.getCompany()+" 骞舵湭涓婃姤杩�");
+            throw new ErrorException(date+" 璐︽埛锛�"+financeSubmit.getName()+" 浠g悊鍟嗭細"+financeSubmit.getCompany()+" 骞舵湭涓婃姤杩�");
         }
         dataReporting.setAgentRebate(financeSubmit.getEmployeeRebate());
+        try {
+            dataReporting.setDiscountedConsumption(dataReporting.getConsumption().divide(dataReporting.getAgentRebate(), 2, RoundingMode.HALF_UP));
+        }catch (Exception e){}
         dataReportingMapper.updateById(dataReporting);
         financeSubmit.setDataId(dataReporting.getId());
         return financeSubmitMapper.insert(financeSubmit);
diff --git a/data-server/src/main/resources/mapper/DataReportingMapper.xml b/data-server/src/main/resources/mapper/DataReportingMapper.xml
index 22ea781..d7854d0 100644
--- a/data-server/src/main/resources/mapper/DataReportingMapper.xml
+++ b/data-server/src/main/resources/mapper/DataReportingMapper.xml
@@ -5,37 +5,37 @@
 <mapper namespace="com.yuanchu.mom.mapper.DataReportingMapper">
 
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DataReporting">
-            <id property="id" column="id" jdbcType="INTEGER"/>
-            <result property="department" column="department" jdbcType="VARCHAR"/>
-            <result property="registrant" column="registrant" jdbcType="VARCHAR"/>
-            <result property="product" column="product" jdbcType="VARCHAR"/>
-            <result property="channel" column="channel" jdbcType="VARCHAR"/>
-            <result property="name" column="name" jdbcType="VARCHAR"/>
-            <result property="showNum" column="show_num" jdbcType="INTEGER"/>
-            <result property="click" column="click" jdbcType="INTEGER"/>
-            <result property="accountConsumption" column="account_consumption" jdbcType="DECIMAL"/>
-            <result property="rebateConsumption" column="rebate_consumption" jdbcType="DECIMAL"/>
-            <result property="consumption" column="consumption" jdbcType="DECIMAL"/>
-            <result property="discountedConsumption" column="discounted_consumption" jdbcType="DECIMAL"/>
-            <result property="fansAdd" column="fans_add" jdbcType="INTEGER"/>
-            <result property="actualCost" column="actual_cost" jdbcType="DECIMAL"/>
-            <result property="internalCosts" column="internal_costs" jdbcType="DECIMAL"/>
-            <result property="customerCosts" column="customer_costs" jdbcType="DECIMAL"/>
-            <result property="profit" column="profit" jdbcType="DECIMAL"/>
-            <result property="agentRebate" column="agent_rebate" jdbcType="DECIMAL"/>
-            <result property="customerRebate" column="customer_rebate" jdbcType="DECIMAL"/>
-            <result property="remark" column="remark" jdbcType="DECIMAL"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-            <result property="createUser" column="create_user" jdbcType="VARCHAR"/>
-            <result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
+        <id property="id" column="id" jdbcType="INTEGER"/>
+        <result property="department" column="department" jdbcType="VARCHAR"/>
+        <result property="registrant" column="registrant" jdbcType="VARCHAR"/>
+        <result property="product" column="product" jdbcType="VARCHAR"/>
+        <result property="channel" column="channel" jdbcType="VARCHAR"/>
+        <result property="name" column="name" jdbcType="VARCHAR"/>
+        <result property="showNum" column="show_num" jdbcType="INTEGER"/>
+        <result property="click" column="click" jdbcType="INTEGER"/>
+        <result property="accountConsumption" column="account_consumption" jdbcType="DECIMAL"/>
+        <result property="rebateConsumption" column="rebate_consumption" jdbcType="DECIMAL"/>
+        <result property="consumption" column="consumption" jdbcType="DECIMAL"/>
+        <result property="discountedConsumption" column="discounted_consumption" jdbcType="DECIMAL"/>
+        <result property="fansAdd" column="fans_add" jdbcType="INTEGER"/>
+        <result property="actualCost" column="actual_cost" jdbcType="DECIMAL"/>
+        <result property="internalCosts" column="internal_costs" jdbcType="DECIMAL"/>
+        <result property="customerCosts" column="customer_costs" jdbcType="DECIMAL"/>
+        <result property="profit" column="profit" jdbcType="DECIMAL"/>
+        <result property="agentRebate" column="agent_rebate" jdbcType="DECIMAL"/>
+        <result property="customerRebate" column="customer_rebate" jdbcType="DECIMAL"/>
+        <result property="remark" column="remark" jdbcType="DECIMAL"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="createUser" column="create_user" jdbcType="VARCHAR"/>
+        <result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
     </resultMap>
 
     <select id="selectDataReportingDtoPageList" resultType="com.yuanchu.mom.dto.DataReportingPageDto">
         select * from (
         select dr.*,u1.name create_user_name,u2.name update_user_name from data_reporting dr
-                    left join user u1 on dr.create_user = u1.id
-                    left join user u2 on dr.update_user = u2.id
+        left join user u1 on dr.create_user = u1.id
+        left join user u2 on dr.update_user = u2.id
         ) a
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
@@ -43,7 +43,8 @@
     </select>
     <select id="selectProductCountDtoPageList" resultType="com.yuanchu.mom.dto.ProductCountDto">
         select * from (
-        select update_time, create_time, product, sum(consumption) consumption, sum(fans_add) fans_add, sum(customer_costs) customer_costs, create_user
+        select update_time, create_time, product, sum(consumption) consumption, sum(fans_add) fans_add,
+        sum(customer_costs) customer_costs, create_user
         from data_reporting
         group by product,date_format(create_time, '%Y-%m-%d')
         ) a
@@ -53,7 +54,12 @@
     </select>
     <select id="selectRegistrantCountDtoPageList" resultType="com.yuanchu.mom.dto.RegistrantCountDto">
         select * from (
-        select id, department, registrant, product, name, sum(show_num) show_num, sum(click) click, sum(account_consumption)account_consumption, sum(rebate_consumption) rebate_consumption,(sum(rebate_consumption)+sum(remark)) rebate_consumption2, sum(discounted_consumption) discounted_consumption, sum(fans_add) fans_add, sum(actual_cost) actual_cost, sum(customer_costs) customer_costs, sum(profit) profit, sum(agent_rebate) agent_rebate, sum(customer_rebate) customer_rebate, sum(remark) remark, create_time, update_time, create_user
+        select id, department, registrant, product, name, sum(show_num) show_num, sum(click) click,
+        sum(account_consumption)account_consumption, sum(rebate_consumption)
+        rebate_consumption,(sum(rebate_consumption)+sum(remark)) rebate_consumption2, sum(discounted_consumption)
+        discounted_consumption, sum(fans_add) fans_add, sum(actual_cost) actual_cost, sum(customer_costs)
+        customer_costs, sum(profit) profit, sum(agent_rebate) agent_rebate, sum(customer_rebate) customer_rebate,
+        sum(remark) remark, create_time, update_time, create_user
         from data_reporting
         group by registrant,date_format(create_time, '%Y-%m-%d')
         ) a
@@ -62,66 +68,73 @@
         </if>
     </select>
     <select id="getDataFor1" resultType="java.util.Map">
-        select COALESCE(sum(account_consumption), 0) data1, COALESCE(sum(consumption), 0) data2, COALESCE(sum(customer_costs),0) data3, COALESCE(sum(actual_cost), 0) data4
+        select COALESCE(sum(account_consumption), 0) data1,
+               COALESCE(sum(consumption), 0)         data2,
+               COALESCE(sum(customer_costs), 0)      data3,
+               COALESCE(sum(actual_cost), 0)         data4
         from data_reporting
-        where date(create_time) like CURDATE()
+        where date(create_time) like (CURDATE() - INTERVAL 1 DAY)
     </select>
     <select id="getDataFor2" resultType="java.util.Map">
-        SELECT sum(account_consumption) account_consumptions, DATE_FORMAT(create_time, '%m-%d') `date`, DATE_FORMAT(create_time, '%y-%m-%d') time
+        SELECT sum(account_consumption)             account_consumptions,
+               DATE_FORMAT(create_time, '%m-%d')    `date`,
+               DATE_FORMAT(create_time, '%y-%m-%d') time
         FROM data_reporting
         group by DATE_FORMAT(create_time, '%y-%m-%d')
         having DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt; time
-        and time &lt;= CURDATE()
+           and time &lt; CURDATE()
     </select>
     <select id="getDataFor3" resultType="java.util.Map">
-        SELECT sum(consumption) consumption, DATE_FORMAT(create_time, '%m-%d') `date`, DATE_FORMAT(create_time, '%y-%m-%d') time
+        SELECT sum(consumption)                     consumption,
+               DATE_FORMAT(create_time, '%m-%d')    `date`,
+               DATE_FORMAT(create_time, '%y-%m-%d') time
         FROM data_reporting
         group by DATE_FORMAT(create_time, '%y-%m-%d')
         having DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt; time
-        and time &lt;= CURDATE()
+           and time &lt; CURDATE()
     </select>
     <select id="getDataFor4" resultType="java.util.Map">
         select product, sum(customer_costs) customerCosts
         from data_reporting
         group by product
-        order by customerCosts desc limit 7
+        order by customerCosts desc
+        limit 7
     </select>
     <select id="getDataFor5" resultType="java.util.Map">
         select product, sum(actual_cost) actualCost
         from data_reporting
         group by product
-        order by actualCost desc limit 7
+        order by actualCost desc
+        limit 7
     </select>
     <select id="selectUser" resultType="java.util.Map">
-        select user.department, user.name, user.account from user
+        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,
+        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
+               b.account             comparisonAccount,
+               b.name                comparisonName,
+               b.account_consumption comparisonConsumption
+        from (select dr1.*, user.id uId, user.name uName, user.account
+                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 = #{dataComparisonDto.name}) a
+        left join (select dr2.*, user.id uId, user.name uName, user.account
+                    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 = #{dataComparisonDto.comparisonName}) b
+                    on a.name = b.name
+                    and a.product = b.product
+        where (a.account_consumption != b.account_consumption
+            or b.account_consumption is null)
     </select>
 </mapper>
diff --git a/data-server/src/main/resources/mapper/FinanceSubmitMapper.xml b/data-server/src/main/resources/mapper/FinanceSubmitMapper.xml
index e811df5..4bb0808 100644
--- a/data-server/src/main/resources/mapper/FinanceSubmitMapper.xml
+++ b/data-server/src/main/resources/mapper/FinanceSubmitMapper.xml
@@ -4,20 +4,6 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.FinanceSubmitMapper">
 
-    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.FinanceSubmit">
-            <id property="id" column="id" jdbcType="INTEGER"/>
-            <result property="name" column="name" jdbcType="VARCHAR"/>
-            <result property="company" column="company" jdbcType="VARCHAR"/>
-            <result property="consumption" column="consumption" jdbcType="DECIMAL"/>
-            <result property="recharge" column="recharge" jdbcType="DECIMAL"/>
-            <result property="refund" column="refund" jdbcType="DECIMAL"/>
-            <result property="agentRebate" column="agent_rebate" jdbcType="DECIMAL"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
-            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
-    </resultMap>
-
     <select id="selectFinanceSubmitPageList" resultType="com.yuanchu.mom.pojo.FinanceSubmit">
         select * from (
         select fs.*, u.name create_user_name from finance_submit fs, user u

--
Gitblit v1.9.3