Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
K
klck
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
位宇华
klck
Commits
c5554b07
Commit
c5554b07
authored
Jul 03, 2024
by
刘_震
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
电力汇总-代码优化
parent
60620422
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
114 additions
and
93 deletions
+114
-93
ruoyi-wages/src/main/java/com/ruoyi/system/controller/PowerWagesController.java
...ava/com/ruoyi/system/controller/PowerWagesController.java
+30
-49
ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerWagesComMapper.java
...ain/java/com/ruoyi/system/mapper/PowerWagesComMapper.java
+1
-1
ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerWagesDeMapper.java
...main/java/com/ruoyi/system/mapper/PowerWagesDeMapper.java
+1
-1
ruoyi-wages/src/main/java/com/ruoyi/system/model/wages/dao/PowerAllDAO.java
...in/java/com/ruoyi/system/model/wages/dao/PowerAllDAO.java
+22
-0
ruoyi-wages/src/main/java/com/ruoyi/system/service/PowerWagesService.java
...main/java/com/ruoyi/system/service/PowerWagesService.java
+5
-2
ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/PowerWagesServiceImpl.java
.../com/ruoyi/system/service/impl/PowerWagesServiceImpl.java
+55
-40
No files found.
ruoyi-wages/src/main/java/com/ruoyi/system/controller/PowerWagesController.java
View file @
c5554b07
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.controller;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.system.model.wages.dao.PowerAllDAO
;
import
com.ruoyi.system.model.wages.dao.PowerDAO
;
import
com.ruoyi.system.model.wages.dao.PowerWagesComparation
;
import
com.ruoyi.system.model.wages.dao.PowerWagesDetails
;
...
...
@@ -24,54 +25,6 @@ import java.util.Map;
public
class
PowerWagesController
{
private
final
PowerWagesService
powerWagesService
;
/**
* 导入详细表数据
* @param file 文件
* @return 无返回值
*/
@PostMapping
(
"/dExcel"
)
public
AjaxResult
readDExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
,
String
date
,
String
mineId
)
{
Boolean
analyzed
=
powerWagesService
.
readDExcel
(
file
,
date
,
mineId
);
if
(!
analyzed
)
{
return
AjaxResult
.
error
(
"解析失败"
);
}
else
{
return
AjaxResult
.
success
();
}
}
/**
* 读取对照表数据
* @param file
* @param date
* @param mineId
* @return
*/
@PostMapping
(
"/cExcel"
)
public
AjaxResult
readCExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
,
String
date
,
String
mineId
)
{
Boolean
analyzed
=
powerWagesService
.
readCExcel
(
file
,
date
,
mineId
);
if
(!
analyzed
)
{
return
AjaxResult
.
error
(
"解析失败"
);
}
else
{
return
AjaxResult
.
success
();
}
}
/**
* 特殊表处理-填写数据
* @param dao
* @return
*/
@PostMapping
public
AjaxResult
add
(
@RequestBody
PowerDAO
dao
){
powerWagesService
.
add
(
dao
);
return
AjaxResult
.
success
();
}
/**
* 返回前端所需要的数据
* @param mineId
...
...
@@ -86,6 +39,34 @@ public class PowerWagesController {
}
@PostMapping
(
"/all"
)
public
AjaxResult
save
(
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestPart
PowerDAO
powerDAO
,
@RequestPart
PowerAllDAO
powerAllDAO
){
//1、处理表格
String
date
=
powerDAO
.
getImportTime
();
String
mineId
=
powerDAO
.
getMineId
();
Boolean
cAnalyzed
=
powerWagesService
.
readCExcel
(
file
,
date
,
mineId
);
if
(!
cAnalyzed
)
{
return
AjaxResult
.
error
(
"解析失败"
);
}
Boolean
dAnalyzed
=
powerWagesService
.
readDExcel
(
file
,
date
,
mineId
);
if
(!
dAnalyzed
)
{
return
AjaxResult
.
error
(
"解析失败"
);
}
//2、处理特殊表的表头
Boolean
added
=
powerWagesService
.
add
(
powerDAO
);
if
(!
added
)
{
return
AjaxResult
.
error
(
"对照处理失败"
);
}
//3、处理特殊表的数据
Boolean
pAdd
=
powerWagesService
.
pAdd
(
powerAllDAO
);
if
(!
pAdd
)
{
return
AjaxResult
.
error
(
"数据处理失败"
);
}
return
AjaxResult
.
success
();
}
}
ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerWagesComMapper.java
View file @
c5554b07
...
...
@@ -21,7 +21,7 @@ public interface PowerWagesComMapper {
PowerWagesComparation
select
(
@Param
(
"type"
)
String
type
,
@Param
(
"date"
)
String
importTime
,
@Param
(
"mineId"
)
String
mineId
);
void
add
(
@Param
(
"accList"
)
List
<
Power
>
powerDetails
,
@Param
(
"mineId"
)
String
mineId
,
@Param
(
"importTime"
)
String
importTime
,
@Param
(
"type"
)
String
type
);
Boolean
add
(
@Param
(
"accList"
)
List
<
Power
>
powerDetails
,
@Param
(
"mineId"
)
String
mineId
,
@Param
(
"importTime"
)
String
importTime
,
@Param
(
"type"
)
String
type
);
PowerWagesComparation
selectByCId
(
Integer
comparisonId
);
...
...
ruoyi-wages/src/main/java/com/ruoyi/system/mapper/PowerWagesDeMapper.java
View file @
c5554b07
...
...
@@ -16,7 +16,7 @@ public interface PowerWagesDeMapper {
void
insertBatch
(
@Param
(
"accList"
)
List
<
PowerWagesDetails
>
powerList
,
@Param
(
"mineId"
)
String
mineId
,
@Param
(
"date"
)
String
date
);
void
add
(
@Param
(
"accList"
)
List
<
Power
>
powerDetails
,
@Param
(
"comparisonId"
)
Integer
comparisonId
,
@Param
(
"importTime"
)
String
importTime
,
@Param
(
"mineId"
)
String
mineId
);
Boolean
add
(
@Param
(
"accList"
)
List
<
Power
>
powerDetails
,
@Param
(
"comparisonId"
)
Integer
comparisonId
,
@Param
(
"importTime"
)
String
importTime
,
@Param
(
"mineId"
)
String
mineId
);
List
<
PowerWagesDetails
>
selectByMineIdAndDate
(
@Param
(
"mineId"
)
String
mineId
,
@Param
(
"date"
)
String
date
);
...
...
ruoyi-wages/src/main/java/com/ruoyi/system/model/wages/dao/PowerAllDAO.java
0 → 100644
View file @
c5554b07
package
com.ruoyi.system.model.wages.dao
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
/**
* @author haiwe
* @date 2024/7/2
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
PowerAllDAO
{
private
String
mineId
;
private
String
importTime
;
private
String
type
;
private
List
<
Power
>
powerDetails
;
}
ruoyi-wages/src/main/java/com/ruoyi/system/service/PowerWagesService.java
View file @
c5554b07
package
com.ruoyi.system.service
;
import
com.ruoyi.system.model.wages.dao.PowerAllDAO
;
import
com.ruoyi.system.model.wages.dao.PowerDAO
;
import
com.ruoyi.system.model.wages.dao.PowerWagesComparation
;
import
com.ruoyi.system.model.wages.dao.PowerWagesDetails
;
...
...
@@ -20,7 +21,9 @@ public interface PowerWagesService {
Boolean
readCExcel
(
MultipartFile
file
,
String
date
,
String
mineId
);
void
add
(
PowerDAO
dao
);
List
<
PowerVo
>
selectByMineIdAndDate
(
String
mineId
,
String
date
);
Boolean
add
(
PowerDAO
powerDAO
);
Boolean
pAdd
(
PowerAllDAO
powerAllDAO
);
}
ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/PowerWagesServiceImpl.java
View file @
c5554b07
...
...
@@ -6,10 +6,7 @@ import com.alibaba.excel.EasyExcel;
import
com.ruoyi.system.listener.ExcelListener
;
import
com.ruoyi.system.mapper.PowerWagesComMapper
;
import
com.ruoyi.system.mapper.PowerWagesDeMapper
;
import
com.ruoyi.system.model.wages.dao.Power
;
import
com.ruoyi.system.model.wages.dao.PowerDAO
;
import
com.ruoyi.system.model.wages.dao.PowerWagesComparation
;
import
com.ruoyi.system.model.wages.dao.PowerWagesDetails
;
import
com.ruoyi.system.model.wages.dao.*
;
import
com.ruoyi.system.model.wages.vo.PowerVo
;
import
com.ruoyi.system.service.PowerWagesService
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -45,16 +42,15 @@ public class PowerWagesServiceImpl implements PowerWagesService {
@Override
public
Boolean
readDExcel
(
MultipartFile
file
,
String
date
,
String
mineId
)
{
try
{
//定义需要解析的sheet名
List
<
String
>
sheetList
=
Arrays
.
asList
(
"电量数据专业化公司"
,
"外界电量数据"
);
// 定义需要过滤的关键词列表
List
<
String
>
filterList
=
Arrays
.
asList
(
"小计"
,
"总表小计"
,
"劳服总表"
,
"校验"
,
"null"
);
List
<
String
>
filterList2
=
Arrays
.
asList
(
"20000"
,
"30000"
,
"40000"
);
List
<
String
>
filterList
=
Arrays
.
asList
(
"小计"
,
"总表小计"
,
"劳服总表"
,
"校验"
,
"null"
);
List
<
String
>
filterList2
=
Arrays
.
asList
(
"20000"
,
"30000"
,
"40000"
);
// 获取上传文件的输入流
for
(
int
i
=
0
;
i
<
sheetList
.
size
();
i
++)
{
String
type
=
""
;
switch
(
sheetList
.
get
(
i
)){
switch
(
sheetList
.
get
(
i
))
{
case
"电量数据专业化公司"
:
type
=
"1"
;
break
;
...
...
@@ -62,12 +58,11 @@ public class PowerWagesServiceImpl implements PowerWagesService {
type
=
"2"
;
break
;
}
PowerWagesComparation
comparation
=
ceMapper
.
select
(
type
,
date
,
mineId
);
if
(
comparation
!=
null
)
{
//获取对应表的id
Integer
comparisonId
=
comparation
.
getComparisonId
();
deMapper
.
deleteByDateAndMineIdAndComparisonId
(
mineId
,
date
,
comparisonId
);
deMapper
.
deleteByDateAndMineIdAndComparisonId
(
mineId
,
date
,
comparisonId
);
InputStream
inputStream
=
file
.
getInputStream
();
System
.
err
.
println
(
sheetList
.
get
(
i
));
List
<
PowerWagesDetails
>
PowerList
=
EasyExcel
...
...
@@ -85,8 +80,6 @@ public class PowerWagesServiceImpl implements PowerWagesService {
.
peek
(
v
->
v
.
setComparisonId
(
comparisonId
))
.
collect
(
Collectors
.
toList
());
deMapper
.
insertBatch
(
PowerList
,
mineId
,
date
);
}
else
{
return
false
;
}
}
return
true
;
...
...
@@ -104,7 +97,7 @@ public class PowerWagesServiceImpl implements PowerWagesService {
// 获取上传文件的输入流
for
(
int
i
=
0
;
i
<
sheetList
.
size
();
i
++)
{
String
type
=
""
;
switch
(
sheetList
.
get
(
i
)){
switch
(
sheetList
.
get
(
i
))
{
case
"电量数据专业化公司"
:
type
=
"1"
;
break
;
...
...
@@ -112,7 +105,7 @@ public class PowerWagesServiceImpl implements PowerWagesService {
type
=
"2"
;
break
;
}
ceMapper
.
deleteByDateAndMineIdAndType
(
mineId
,
date
,
type
);
ceMapper
.
deleteByDateAndMineIdAndType
(
mineId
,
date
,
type
);
InputStream
inputStream
=
file
.
getInputStream
();
System
.
err
.
println
(
sheetList
.
get
(
i
));
List
<
PowerWagesComparation
>
powerList
=
EasyExcel
...
...
@@ -136,32 +129,7 @@ public class PowerWagesServiceImpl implements PowerWagesService {
}
@Override
public
void
add
(
PowerDAO
dao
)
{
//获取相关属性
String
type
=
dao
.
getType
();
String
importTime
=
dao
.
getImportTime
();
String
mineId
=
dao
.
getMineId
();
List
<
Power
>
powerDetails
=
dao
.
getPowerDetails
();
//如何这个集合的长度>1,说明导入的是详细表
if
(
powerDetails
.
size
()
>
1
)
{
PowerWagesComparation
comparation
=
ceMapper
.
select
(
type
,
importTime
,
mineId
);
if
(
comparation
!=
null
)
{
//获取对应表的id
Integer
comparisonId
=
comparation
.
getComparisonId
();
deMapper
.
deleteByDateAndMineIdAndComparisonId
(
mineId
,
importTime
,
comparisonId
);
deMapper
.
add
(
powerDetails
,
comparisonId
,
importTime
,
mineId
);
}
}
else
{
PowerWagesComparation
comparation
=
ceMapper
.
select
(
type
,
importTime
,
mineId
);
Integer
comparisonId
=
comparation
.
getComparisonId
();
deMapper
.
deleteByDateAndMineIdAndComparisonId
(
mineId
,
importTime
,
comparisonId
);
ceMapper
.
deleteByDateAndMineIdAndType
(
mineId
,
importTime
,
type
);
ceMapper
.
add
(
powerDetails
,
mineId
,
importTime
,
type
);
}
}
@Override
public
List
<
PowerVo
>
selectByMineIdAndDate
(
String
mineId
,
String
date
){
public
List
<
PowerVo
>
selectByMineIdAndDate
(
String
mineId
,
String
date
)
{
//定义一个集合用来返回所需要的数据
List
<
PowerVo
>
voList
=
new
ArrayList
<>();
List
<
PowerWagesComparation
>
comparations
=
ceMapper
.
selectByMineIdAndDate
(
mineId
,
date
);
...
...
@@ -175,7 +143,54 @@ public class PowerWagesServiceImpl implements PowerWagesService {
return
voList
;
}
/**
* 特殊表表头处理
*
* @param powerDAO
* @return
*/
@Override
public
Boolean
add
(
PowerDAO
powerDAO
)
{
//获取相关属性
String
type
=
powerDAO
.
getType
();
String
importTime
=
powerDAO
.
getImportTime
();
String
mineId
=
powerDAO
.
getMineId
();
List
<
Power
>
powerDetails
=
powerDAO
.
getPowerDetails
();
//删除表格中原有的数据
ceMapper
.
deleteByDateAndMineIdAndType
(
mineId
,
importTime
,
type
);
Boolean
added
=
ceMapper
.
add
(
powerDetails
,
mineId
,
importTime
,
type
);
if
(!
added
)
{
return
false
;
}
return
true
;
}
@Override
public
Boolean
pAdd
(
PowerAllDAO
powerAllDAO
)
{
//获取相关属性
String
type
=
powerAllDAO
.
getType
();
String
importTime
=
powerAllDAO
.
getImportTime
();
String
mineId
=
powerAllDAO
.
getMineId
();
List
<
Power
>
powerDetails
=
powerAllDAO
.
getPowerDetails
();
//查找对照表是否插入
PowerWagesComparation
comparation
=
ceMapper
.
select
(
type
,
importTime
,
mineId
);
if
(
comparation
==
null
)
{
return
false
;
}
//获取对应表的id
Integer
comparisonId
=
comparation
.
getComparisonId
();
//删除原有数据
deMapper
.
deleteByDateAndMineIdAndComparisonId
(
mineId
,
importTime
,
comparisonId
);
Boolean
added
=
deMapper
.
add
(
powerDetails
,
comparisonId
,
importTime
,
mineId
);
if
(!
added
)
{
return
false
;
}
return
true
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment