From d9865c5576c8ed413d2b69a36b3ec5f15bee015b Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期一, 22 四月 2024 00:33:36 +0800 Subject: [PATCH] 功能调整 --- data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 188 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 164 insertions(+), 24 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..a7c273c 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 @@ -6,11 +6,11 @@ import cn.hutool.core.text.csv.CsvReader; import cn.hutool.core.text.csv.CsvRow; import cn.hutool.core.text.csv.CsvUtil; -import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; 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.*; import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.pojo.DataReporting; @@ -23,17 +23,13 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; -import org.apache.tomcat.util.http.fileupload.FileUtils; -import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.File; +import javax.validation.constraints.NotBlank; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigDecimal; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; @@ -81,7 +77,7 @@ return Result.success(dataReportingService.selectProductCountDtoPageList(page, productCountDto)); } - @ApiOperation(value = "鑾峰彇鐧昏浜烘眹鎬诲垪琛�") + @ApiOperation(value = "鑾峰彇鍛樺伐鏁版嵁缁熻鍒楄〃") @PostMapping("/selectRegistrantCountDtoPageList") public Result selectRegistrantCountDtoPageList(@RequestBody Map<String, Object> data) { Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class); @@ -94,6 +90,9 @@ public Result selectFansSubmitList(@RequestBody Map<String, Object> data) { Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class); FansSubmit fansSubmit = JSON.parseObject(JSON.toJSONString(data.get("entity")), FansSubmit.class); + if (ObjectUtil.isNotEmpty(fansSubmit.getCreateTime())){ + fansSubmit.setCreateTime(fansSubmit.getCreateTime().plusDays(1)); + } return Result.success(fansSubmitService.selectFansSubmitList(page, fansSubmit)); } @@ -120,6 +119,9 @@ public Result selectFinanceSubmitList(@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); + if (ObjectUtil.isNotEmpty(financeSubmit.getCreateTime())){ + financeSubmit.setCreateTime(financeSubmit.getCreateTime().plusDays(1)); + } return Result.success(financeSubmitService.selectFinanceSubmitList(page, financeSubmit)); } @@ -138,7 +140,7 @@ @ApiOperation(value = "娣诲姞璐㈠姟涓婃姤淇℃伅") @PostMapping("/addFinanceSubmit") public Result<?> addFinanceSubmit(@RequestBody FinanceSubmit financeSubmit, String date) { - return Result.success(financeSubmitService.addFinanceSubmit(financeSubmit, date)); + return Result.success(financeSubmitService.addFinanceSubmit(financeSubmit, date, financeSubmit.getParam())); } @ValueAuth @@ -150,7 +152,7 @@ @ApiOperation(value = "瀵煎叆鏁版嵁涓婃姤鍒楄〃") @PostMapping("/inputCsv") - public Result<?> inputCsv(@RequestParam("file") MultipartFile file) throws IOException { + public Result<?> inputCsv(@RequestParam("file") MultipartFile file, String param) throws IOException { CsvReader reader = CsvUtil.getReader(); CsvData data = reader.read(new InputStreamReader(file.getInputStream(), "GB2312")); List<CsvRow> rows = data.getRows(); @@ -162,40 +164,56 @@ e.printStackTrace(); throw new ErrorException("鏂囦欢涓棩鏈熷湪杞崲鏃跺嚭鐜伴敊璇�"); } - for (int i = 6; i < rows.size(); i++) { + int fieldIndex = 5; + for (int i = 0; i < rows.size(); i++) { + if (JSON.toJSONString(rows.get(i)).contains("璐︽埛ID")) { + fieldIndex = i; + break; + } + } + for (int i = fieldIndex + 1; i < rows.size(); i++) { DataReporting reporting = new DataReporting(); - for (int i1 = 0; i1 < rows.get(5).size(); i1++) { + for (int i1 = 0; i1 < rows.get(fieldIndex).size(); i1++) { String str = rows.get(i).get(i1); if (str == null) continue; - switch (rows.get(5).get(i1)) { + switch (rows.get(fieldIndex).get(i1)) { case "璐︽埛": reporting.setName(str); break; case "澶囨敞": String[] split = str.split("-"); - if (split.length == 4) { + if (split.length > 3) { reporting.setName2(split[0]); - reporting.setChannel(split[1]); - reporting.setAgent(split[2]); - reporting.setProduct(split[3]); + reporting.setChannel(split[2]); + reporting.setAgent(split[3]); + reporting.setProduct(split[1]); break; } reporting.setProduct(str); break; case "灞曠幇閲�": - reporting.setShowNum(Integer.parseInt(str)); + try { + reporting.setShowNum(Integer.parseInt(str)); + } catch (Exception e) { + } break; case "鐐瑰嚮閲�": - reporting.setClick(Integer.parseInt(str)); + try { + reporting.setClick(Integer.parseInt(str)); + } catch (Exception e) { + } break; case "娑堣垂": - reporting.setAccountConsumption(new BigDecimal(str)); + try { + reporting.setAccountConsumption(new BigDecimal(str)); + } catch (Exception e) { + } break; } } - list.add(reporting); + if(reporting.getAccountConsumption().compareTo(BigDecimal.ZERO) > 0) list.add(reporting); } - dataReportingService.addDataReporting(list, format); + dataReportingService.addDataReporting(list, format, param); return Result.success(); } @@ -204,7 +222,7 @@ public Result<?> addDataReporting(@RequestBody DataReporting dataReporting) { ArrayList<DataReporting> list = new ArrayList<>(); list.add(dataReporting); - dataReportingService.addDataReporting(list, null); + dataReportingService.addDataReporting(list, null,dataReporting.getVxCard()); return Result.success(); } @@ -286,6 +304,128 @@ 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, String param) 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, param); + } + return Result.success(); + } + + @ApiOperation(value = "涓�閿垹闄ゆ墍鏈夋暟鎹笂鎶ョ殑鏁版嵁") + @PostMapping("/deleteAllData") + public Result deleteAllData(String date) { + dataReportingService.deleteAllData(date); + return Result.success(); + } + + @ApiOperation(value = "鑾峰彇鏁版嵁涓婃姤鐨勭櫥璁颁汉绛涢�夐」") + @PostMapping("/selectDataReportingForCreateUserNames") + @ValueAuth + public Result selectDataReportingForCreateUserNames(String time) { + return Result.success(dataReportingService.selectDataReportingForCreateUserNames(time)); + } + + @ApiOperation(value = "鑾峰彇椤圭洰鏁版嵁缁熻鐨勯」鐩瓫閫夐」") + @PostMapping("/selectDataReportingForProduct") + @ValueAuth + public Result selectDataReportingForProduct(String time) { + return Result.success(dataReportingService.selectDataReportingForProduct(time)); + } + + @ApiOperation(value = "鑾峰彇寰俊鍙峰垪琛�") + @GetMapping("/selectVxs") + @ValueAuth + public Result selectVxs(String time) { + return Result.success(fansSubmitService.vxs(time)); + } + + @ApiOperation(value = "鎵归噺淇敼寰俊鍙�") + @PostMapping("/updateVxCards") + public Result updateVxCards(String str){ + List<DataReporting> list = JSON.parseArray(str, DataReporting.class); + return Result.success(dataReportingService.updateVxCards(list)); + } + + @ApiOperation(value = "涓�閿垹闄ゆ墍鏈夎繘绮変笂鎶ョ殑鏁版嵁") + @PostMapping("/deleteAllFans") + public Result deleteAllFans(String date) { + fansSubmitService.deleteAllFans(date); + return Result.success(); + } + + @ApiOperation(value = "涓�閿垹闄ゆ墍鏈夎储鍔′笂鎶ョ殑鏁版嵁") + @PostMapping("/deleteAllFinance") + public Result deleteAllFinance(String date) { + financeSubmitService.deleteAllFinance(date); + return Result.success(); + } + + @ApiOperation(value = "鏁版嵁涓婃姤涓荤鏉冮檺") + @GetMapping("/dataReportingPower") + public Result dataReportingPower() { + return Result.success(); + } + } -- Gitblit v1.9.3