From 8a7731d775057ccace9eabb238c1c9673d78dc85 Mon Sep 17 00:00:00 2001
From: Administrator <2856754968@qq.com>
Date: 星期三, 12 十一月 2025 19:50:22 +0800
Subject: [PATCH] 111
---
src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java | 180 +++---------------------------------------------------------
1 files changed, 9 insertions(+), 171 deletions(-)
diff --git a/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java b/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java
index 5a8befe..54e862f 100644
--- a/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java
+++ b/src/main/java/com/gs/xky/service/Impl/VwCjScSjTsBbServiceImpl.java
@@ -1,182 +1,20 @@
-package com.gs.xky.service.Impl;
+package generator.service.impl;
-import cn.hutool.core.io.FileUtil;
-import cn.hutool.poi.excel.ExcelUtil;
-import cn.hutool.poi.excel.ExcelWriter;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.gs.xky.entity.VwCjScSjTsBb;
-import com.gs.xky.mapper.VwCjScSjTsBbMapper;
-import com.gs.xky.service.DingtalkInfoService;
-import com.gs.xky.service.VwCjScSjTsBbService;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
+import generator.domain.VwCjScSjTsBb;
+import generator.service.VwCjScSjTsBbService;
+import generator.mapper.VwCjScSjTsBbMapper;
import org.springframework.stereotype.Service;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
-
/**
- * @author Administrator
- * @description 閽堝琛ㄣ�怴W_CJ_SC_SJ_TS_BB銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
- * @createDate 2025-11-12 16:42:06
- */
+* @author Administrator
+* @description 閽堝琛ㄣ�怴W_CJ_SC_SJ_TS_BB銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-11-12 19:44:46
+*/
@Service
-@Slf4j
-@RequiredArgsConstructor
public class VwCjScSjTsBbServiceImpl extends ServiceImpl<VwCjScSjTsBbMapper, VwCjScSjTsBb>
- implements VwCjScSjTsBbService {
+ implements VwCjScSjTsBbService{
- private final DingtalkInfoService dingtalkInfoService;
-
- @Override
- public boolean exportAndSendToDingtalk() throws Exception {
- String exportFilePath = null;
- try {
- // 1. 鏌ヨ鎵�鏈夋暟鎹�
- log.info("寮�濮嬫煡璇㈢敓浜ф暟鎹�...");
- List<VwCjScSjTsBb> dataList = list();
-
- if (dataList == null || dataList.isEmpty()) {
- log.warn("娌℃湁鏁版嵁闇�瑕佸鍑�");
- return false;
- }
-
- log.info("鏌ヨ鍒� {} 鏉℃暟鎹�", dataList.size());
-
- // 2. 鍑嗗瀵煎嚭鏂囦欢璺緞
- String timestamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
- String fileName = "鐢熶骇鏁版嵁鎶ヨ〃_" + timestamp + ".xlsx";
- exportFilePath = "D:\\BIFile\\" + fileName;
-
- // 纭繚鐩綍瀛樺湪
- FileUtil.mkdir("D:\\BIFile");
-
- // 3. 瀵煎嚭鍒癊xcel
- log.info("寮�濮嬪鍑篍xcel鏂囦欢: {}", exportFilePath);
- exportToExcel(dataList, exportFilePath);
- log.info("Excel鏂囦欢瀵煎嚭鎴愬姛");
-
- // 4. 鍙戦�侀拤閽夋秷鎭�
- log.info("寮�濮嬪彂閫侀拤閽夋枃浠舵秷鎭�...");
- boolean sendResult = dingtalkInfoService.sendFileMessage(exportFilePath);
-
- if (sendResult) {
- log.info("閽夐拤鏂囦欢娑堟伅鍙戦�佹垚鍔�");
- } else {
- log.warn("閽夐拤鏂囦欢娑堟伅鍙戦�佸け璐�");
- }
-
- return sendResult;
-
- } catch (Exception e) {
- log.error("瀵煎嚭骞跺彂閫佸け璐�", e);
- throw e;
- } finally {
- // 鍙�夛細鍙戦�佸悗鍒犻櫎涓存椂鏂囦欢
- // if (exportFilePath != null && FileUtil.exist(exportFilePath)) {
- // FileUtil.del(exportFilePath);
- // log.info("涓存椂鏂囦欢宸插垹闄�: {}", exportFilePath);
- // }
- }
- }
-
- /**
- * 瀵煎嚭鏁版嵁鍒癊xcel锛堜袱涓猻heet椤碉級
- *
- * @param dataList 鏁版嵁鍒楄〃
- * @param filePath 鏂囦欢璺緞
- */
- private void exportToExcel(List<VwCjScSjTsBb> dataList, String filePath) {
- // 璁$畻鏄ㄥぉ鐨勬棩鏈�
- LocalDate yesterday = LocalDate.now().minusDays(1);
- String yesterdayStr = yesterday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-
- // 璁$畻鏈湀鐨勮捣姝㈡棩鏈�
- LocalDate today = LocalDate.now();
- LocalDate firstDayOfMonth = today.withDayOfMonth(1);
- LocalDate lastDayOfMonth = today.withDayOfMonth(today.lengthOfMonth());
- String firstDayStr = firstDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
- String lastDayStr = lastDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-
- log.info("鏄ㄥぉ鏃ユ湡: {}", yesterdayStr);
- log.info("鏈湀鑼冨洿: {} 鑷� {}", firstDayStr, lastDayStr);
-
- // 杩囨护鏁版嵁锛氶璁″紑宸ュ湪鏄ㄥぉ鐨勬暟鎹�
- List<VwCjScSjTsBb> yesterdayData = dataList.stream()
- .filter(item -> item.getYjkg() != null && item.getYjkg().startsWith(yesterdayStr))
- .collect(Collectors.toList());
-
- // 杩囨护鏁版嵁锛氶璁″紑宸ュ湪鏈湀鐨勬暟鎹�
- List<VwCjScSjTsBb> thisMonthData = dataList.stream()
- .filter(item -> {
- if (item.getYjkg() == null || item.getYjkg().trim().isEmpty()) {
- return false;
- }
- String yjkg = item.getYjkg().substring(0, Math.min(10, item.getYjkg().length()));
- return yjkg.compareTo(firstDayStr) >= 0 && yjkg.compareTo(lastDayStr) <= 0;
- })
- .collect(Collectors.toList());
-
- log.info("鏄ㄥぉ鏁版嵁: {} 鏉�", yesterdayData.size());
- log.info("鏈湀鏁版嵁: {} 鏉�", thisMonthData.size());
-
- // 鍒涘缓Excel鍐欏叆鍣紙绗竴涓猻heet锛�
- ExcelWriter writer = ExcelUtil.getWriter(filePath, "鏄ㄥぉ棰勮寮�宸�");
-
- // 鍐欏叆绗竴涓猻heet锛氭槰澶╅璁″紑宸ョ殑鏁版嵁
- writeSheetData(writer, yesterdayData, "鏄ㄥぉ棰勮寮�宸ユ暟鎹紙" + yesterdayStr + "锛�");
-
- // 鍒涘缓绗簩涓猻heet
- writer.setSheet("鏈湀棰勮寮�宸�");
-
- // 鍐欏叆绗簩涓猻heet锛氭湰鏈堥璁″紑宸ョ殑鏁版嵁
- writeSheetData(writer, thisMonthData, "鏈湀棰勮寮�宸ユ暟鎹紙" + firstDayStr + " 鑷� " + lastDayStr + "锛�");
-
- // 鍏抽棴writer锛岄噴鏀惧唴瀛�
- writer.close();
- }
-
- /**
- * 鍐欏叆鍗曚釜sheet鐨勬暟鎹�
- *
- * @param writer Excel鍐欏叆鍣�
- * @param dataList 鏁版嵁鍒楄〃
- * @param title 鏍囬
- */
- private void writeSheetData(ExcelWriter writer, List<VwCjScSjTsBb> dataList, String title) {
- // 娓呯┖涔嬪墠鐨勫埆鍚嶈缃�
- writer.clearHeaderAlias();
-
- // 璁剧疆琛ㄥご鍒悕锛堜腑鏂囧垪鍚嶏級
- writer.addHeaderAlias("daa001", "宸ュ崟鍙�");
- writer.addHeaderAlias("itemNo", "鐗╂枡缂栫爜");
- writer.addHeaderAlias("itemName", "鐗╂枡鍚嶇О");
- writer.addHeaderAlias("departmentname", "杞﹂棿鍚嶇О");
- writer.addHeaderAlias("lineName", "绾夸綋鍚嶇О");
- writer.addHeaderAlias("departmentcode", "杞﹂棿缂栫爜");
- writer.addHeaderAlias("lineNo", "绾夸綋缂栫爜");
- writer.addHeaderAlias("daa008", "宸ュ崟鏁伴噺");
- writer.addHeaderAlias("yjkg", "棰勮寮�宸�");
- writer.addHeaderAlias("sjkg", "瀹為檯寮�宸�");
- writer.addHeaderAlias("sq", "鐢宠鍏ュ簱鏁�");
- writer.addHeaderAlias("rk", "鍏ュ簱鏁�");
- writer.addHeaderAlias("sqwwg", "鐢宠鏈畬宸ユ暟");
- writer.addHeaderAlias("rkwwg", "鍏ュ簱鏈畬宸�");
- writer.addHeaderAlias("sqwrk", "鐢宠鏈叆搴�");
-
- // 鍚堝苟鍗曞厓鏍间綔涓烘爣棰樿
- writer.merge(14, title);
-
- // 鍐欏叆鏁版嵁锛岄粯璁や細浣跨敤鍒悕浣滀负琛ㄥご
- writer.write(dataList, true);
-
- // 璁剧疆鍒楀鑷�傚簲
- writer.autoSizeColumnAll();
- }
}
--
Gitblit v1.9.3