Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dataC_api
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
高宇
dataC_api
Commits
62c9cc05
Commit
62c9cc05
authored
May 22, 2024
by
高宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.导入
parent
6ad18ff3
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
549 additions
and
2 deletions
+549
-2
Jnsp7xtmDqsjController.java
...t/bus/jnsp7xtmdqsj/controller/Jnsp7xtmDqsjController.java
+22
-0
Jnsp7xtmDqsjRepository.java
.../rcisoft/bus/jnsp7xtmdqsj/dao/Jnsp7xtmDqsjRepository.java
+11
-0
Jnsp7xtmDqsjExportTemplateDto.java
...t/bus/jnsp7xtmdqsj/dto/Jnsp7xtmDqsjExportTemplateDto.java
+70
-0
Jnsp7xtmDqsjImportDto.java
...g/rcisoft/bus/jnsp7xtmdqsj/dto/Jnsp7xtmDqsjImportDto.java
+31
-0
Jnsp7xtmDqsj.java
...ava/org/rcisoft/bus/jnsp7xtmdqsj/entity/Jnsp7xtmDqsj.java
+63
-1
Jnsp7xtmDqsjService.java
...rcisoft/bus/jnsp7xtmdqsj/service/Jnsp7xtmDqsjService.java
+12
-0
Jnsp7xtmDqsjServiceImpl.java
...us/jnsp7xtmdqsj/service/impl/Jnsp7xtmDqsjServiceImpl.java
+169
-0
CyImportErrCodeEnum.java
src/main/java/org/rcisoft/enums/CyImportErrCodeEnum.java
+19
-0
ExportToExcelUtil.java
src/main/java/org/rcisoft/util/ExportToExcelUtil.java
+111
-1
application-dev-conf.yml
src/main/resources/application-dev-conf.yml
+2
-0
Jnsp7xtmDqsjMapper.xml
...ces/mapper/bus/jnsp7xtmdqsj/mapper/Jnsp7xtmDqsjMapper.xml
+39
-0
No files found.
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/controller/Jnsp7xtmDqsjController.java
View file @
62c9cc05
...
@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiImplicitParams;
...
@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiImplicitParams;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.bus.taskinfo.entity.TaskInfo
;
import
org.rcisoft.bus.taskinfo.entity.TaskInfo
;
import
org.rcisoft.core.anno.CyEncryptSm4Anno
;
import
org.rcisoft.core.anno.CyOpeLogAnno
;
import
org.rcisoft.core.anno.CyOpeLogAnno
;
import
org.rcisoft.core.operlog.enums.CyLogTypeEnum
;
import
org.rcisoft.core.operlog.enums.CyLogTypeEnum
;
import
org.rcisoft.core.util.CyEpExcelUtil
;
import
org.rcisoft.core.util.CyEpExcelUtil
;
...
@@ -30,6 +31,7 @@ import javax.validation.Valid;
...
@@ -30,6 +31,7 @@ import javax.validation.Valid;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
import
org.rcisoft.bus.jnsp7xtmdqsj.service.Jnsp7xtmDqsjService
;
import
org.rcisoft.bus.jnsp7xtmdqsj.service.Jnsp7xtmDqsjService
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.locks.Lock
;
import
java.util.concurrent.locks.Lock
;
...
@@ -186,5 +188,25 @@ public class Jnsp7xtmDqsjController extends CyPaginationController<Jnsp7xtmDqsj>
...
@@ -186,5 +188,25 @@ public class Jnsp7xtmDqsjController extends CyPaginationController<Jnsp7xtmDqsj>
CyMessCons
.
MESSAGE_ALERT_ERROR
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
null
);
null
);
}
}
@CyOpeLogAnno
(
title
=
"system-Jnsp7xtmDqsj管理-下载空模板"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"下载空模板"
,
notes
=
"下载空模板"
)
@GetMapping
(
value
=
"/jnsp7xtmDqsjDownEmptyTemplate"
)
public
void
jnsp7xtmDqsjDownEmptyTemplate
(
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
,
HttpServletResponse
response
)
{
jnsp7xtmDqsjServiceImpl
.
jnsp7xtmDqsjDownEmptyTemplate
(
jnsp7xtmDqsjPageHandleDto
,
response
);
}
/**
* 导入模板
* **/
@CyOpeLogAnno
(
title
=
"system-检查申请管理-jnsp7xtmdqsj导入"
,
businessType
=
CyLogTypeEnum
.
IMPORT
)
@ApiOperation
(
value
=
"jnsp7xtmdqsj导入"
,
notes
=
"jnsp7xtmdqsj导入"
)
@PostMapping
(
value
=
"/Jnsp7xtmDqsjImportDtoExcel"
)
@CyEncryptSm4Anno
public
CyResult
Jnsp7xtmDqsjImportDtoExcel
(
MultipartFile
file
)
{
return
CyResultGenUtil
.
builder
(
new
CyPersistModel
(
1
),
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
jnsp7xtmDqsjServiceImpl
.
jnsp7xtmDqsjImportDtoExcel
(
file
));
}
}
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/dao/Jnsp7xtmDqsjRepository.java
View file @
62c9cc05
...
@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.*;
...
@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.*;
import
org.apache.ibatis.mapping.ResultSetType
;
import
org.apache.ibatis.mapping.ResultSetType
;
import
org.apache.ibatis.session.ResultHandler
;
import
org.apache.ibatis.session.ResultHandler
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjExportTemplateDto
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.core.mapper.CyBaseMapper
;
import
org.rcisoft.core.mapper.CyBaseMapper
;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
...
@@ -60,5 +61,15 @@ public interface Jnsp7xtmDqsjRepository extends CyBaseMapper<Jnsp7xtmDqsj> {
...
@@ -60,5 +61,15 @@ public interface Jnsp7xtmDqsjRepository extends CyBaseMapper<Jnsp7xtmDqsj> {
* **/
* **/
int
deleteJnsp7xtmDqs
(
@Param
(
"entity"
)
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
);
int
deleteJnsp7xtmDqs
(
@Param
(
"entity"
)
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
);
/**
* 根据cc 查询客户有关的信息
* **/
List
<
Jnsp7xtmDqsj
>
queryCustomer
(
@Param
(
"cc"
)
String
cc
);
/**
* 根据pn 查询sypn的值
* **/
List
<
String
>
querySypnByPn
(
@Param
(
"pn"
)
String
pn
);
}
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/dto/Jnsp7xtmDqsjExportTemplateDto.java
0 → 100644
View file @
62c9cc05
package
org
.
rcisoft
.
bus
.
jnsp7xtmdqsj
.
dto
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* @Author: gy
* @Date: 2024/5/20 13:15
* @Description:
*/
@Data
public
class
Jnsp7xtmDqsjExportTemplateDto
{
/**
* term
* **/
@Excel
(
name
=
"term"
,
orderNum
=
"0"
,
width
=
20
)
private
String
term
;
/**
* month
* **/
@Excel
(
name
=
"month"
,
orderNum
=
"1"
,
width
=
20
)
private
String
month
;
/**
* cc
* **/
@Excel
(
name
=
"cc"
,
orderNum
=
"2"
,
width
=
20
)
private
String
cc
;
@Excel
(
name
=
"route"
,
orderNum
=
"4"
,
width
=
20
)
private
String
route
;
@Excel
(
name
=
"pc"
,
orderNum
=
"5"
,
width
=
20
)
private
String
pc
;
@Excel
(
name
=
"factory"
,
orderNum
=
"6"
,
width
=
20
)
private
String
factory
;
@Excel
(
name
=
"size"
,
orderNum
=
"7"
,
width
=
20
)
private
String
size
;
@Excel
(
name
=
"pn"
,
orderNum
=
"8"
,
width
=
20
)
private
String
pn
;
@Excel
(
name
=
"po"
,
orderNum
=
"9"
,
width
=
20
)
private
String
po
;
@Excel
(
name
=
"fc"
,
orderNum
=
"10"
,
width
=
20
)
private
String
fc
;
@Excel
(
name
=
"qty"
,
orderNum
=
"11"
,
width
=
20
)
private
String
qty
;
@Excel
(
name
=
"currency"
,
orderNum
=
"12"
,
width
=
20
)
private
String
currency
;
@Excel
(
name
=
"rate"
,
orderNum
=
"13"
,
width
=
20
)
private
String
rate
;
@Excel
(
name
=
"amt"
,
orderNum
=
"14"
,
width
=
20
)
private
String
amt
;
@Excel
(
name
=
"up"
,
orderNum
=
"15"
,
width
=
20
)
private
String
up
;
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/dto/Jnsp7xtmDqsjImportDto.java
0 → 100644
View file @
62c9cc05
package
org
.
rcisoft
.
bus
.
jnsp7xtmdqsj
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* @Author: gy
* @Date: 2024/5/21 13:23
* @Description: jnsp7xtmDqsj 导入类
*/
@Data
public
class
Jnsp7xtmDqsjImportDto
{
private
String
filename
;
/**
* 文件导入之后插入文件的数据
*/
private
List
<
Jnsp7xtmDqsjExportTemplateDto
>
insert
;
/**
* 成功之后返回的条数
* **/
private
Integer
rows
;
/**
* 总共多少条数据
* **/
private
Integer
total
;
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/entity/Jnsp7xtmDqsj.java
View file @
62c9cc05
...
@@ -9,6 +9,7 @@ import lombok.*;
...
@@ -9,6 +9,7 @@ import lombok.*;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.type.JdbcType
;
import
org.apache.ibatis.type.JdbcType
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjExportTemplateDto
;
import
org.rcisoft.core.entity.CyIdEntity
;
import
org.rcisoft.core.entity.CyIdEntity
;
import
org.rcisoft.core.entity.CyIdIncreEntity
;
import
org.rcisoft.core.entity.CyIdIncreEntity
;
import
org.rcisoft.core.entity.CyIdNotDataEntity
;
import
org.rcisoft.core.entity.CyIdNotDataEntity
;
...
@@ -394,7 +395,7 @@ public class Jnsp7xtmDqsj extends CyIdIncreEntity {
...
@@ -394,7 +395,7 @@ public class Jnsp7xtmDqsj extends CyIdIncreEntity {
if
(
jnsp7xtmVo
.
getXslj
().
equals
(
"W0"
))
if
(
jnsp7xtmVo
.
getXslj
().
equals
(
"W0"
))
jnsp7xtmDqsj
.
setIo
(
"I"
);
jnsp7xtmDqsj
.
setIo
(
"I"
);
else
else
jnsp7xtmDqsj
.
setIo
(
"
O
"
);
jnsp7xtmDqsj
.
setIo
(
"
o
"
);
}
}
jnsp7xtmDqsj
.
setRoute
(
jnsp7xtmVo
.
getXslj
());
jnsp7xtmDqsj
.
setRoute
(
jnsp7xtmVo
.
getXslj
());
jnsp7xtmDqsj
.
setPc
(
jnsp7xtmVo
.
getZd
());
jnsp7xtmDqsj
.
setPc
(
jnsp7xtmVo
.
getZd
());
...
@@ -420,5 +421,66 @@ public class Jnsp7xtmDqsj extends CyIdIncreEntity {
...
@@ -420,5 +421,66 @@ public class Jnsp7xtmDqsj extends CyIdIncreEntity {
return
jnsp7xtmDqsj
;
return
jnsp7xtmDqsj
;
}
}
public
static
Jnsp7xtmDqsj
generateJnsp7xtmDqsj
(
Jnsp7xtmDqsjExportTemplateDto
jnsp7xtmDqsjExportTemplateDto
,
Jnsp7xtmDqsj
jnsp7xtmDqsj
)
{
BeanUtil
.
copyProperties
(
jnsp7xtmDqsjExportTemplateDto
,
jnsp7xtmDqsj
);
if
(
StringUtils
.
isEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getTerm
()))
jnsp7xtmDqsj
.
setTerm
(
TERM_L
);
String
lastTwoNqy
=
""
;
if
(
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getMonth
())
&&
jnsp7xtmDqsjExportTemplateDto
.
getMonth
().
length
()
>
2
)
{
lastTwoNqy
=
jnsp7xtmDqsjExportTemplateDto
.
getMonth
().
substring
(
jnsp7xtmDqsjExportTemplateDto
.
getMonth
().
length
()
-
2
);
if
(
lastTwoNqy
.
equals
(
"04"
)
||
lastTwoNqy
.
equals
(
"05"
)
||
lastTwoNqy
.
equals
(
"06"
)
||
lastTwoNqy
.
equals
(
"07"
)
||
lastTwoNqy
.
equals
(
"08"
)
||
lastTwoNqy
.
equals
(
"09"
))
{
jnsp7xtmDqsj
.
setHalf
(
"1H"
);
}
else
{
jnsp7xtmDqsj
.
setHalf
(
"2H"
);
}
if
(
lastTwoNqy
.
equals
(
"01"
)
||
lastTwoNqy
.
equals
(
"02"
)
||
lastTwoNqy
.
equals
(
"03"
))
{
jnsp7xtmDqsj
.
setQuarter
(
"Q4"
);
}
else
if
(
lastTwoNqy
.
equals
(
"04"
)
||
lastTwoNqy
.
equals
(
"05"
)
||
lastTwoNqy
.
equals
(
"06"
))
{
jnsp7xtmDqsj
.
setQuarter
(
"Q1"
);
}
else
if
(
lastTwoNqy
.
equals
(
"07"
)
||
lastTwoNqy
.
equals
(
"08"
)
||
lastTwoNqy
.
equals
(
"09"
))
{
jnsp7xtmDqsj
.
setQuarter
(
"Q2"
);
}
else
if
(
lastTwoNqy
.
equals
(
"10"
)
||
lastTwoNqy
.
equals
(
"11"
)
||
lastTwoNqy
.
equals
(
"12"
))
{
jnsp7xtmDqsj
.
setQuarter
(
"Q3"
);
}
if
(
StringUtils
.
isNotBlank
(
jnsp7xtmDqsjExportTemplateDto
.
getRoute
()))
{
if
(
jnsp7xtmDqsjExportTemplateDto
.
getRoute
().
equals
(
"W0"
))
jnsp7xtmDqsj
.
setIo
(
"I"
);
else
jnsp7xtmDqsj
.
setIo
(
"o"
);
}
if
(
StringUtils
.
isNotBlank
(
jnsp7xtmDqsjExportTemplateDto
.
getPc
()))
{
if
(
jnsp7xtmDqsjExportTemplateDto
.
getPc
().
equals
(
"CR"
)
||
jnsp7xtmDqsjExportTemplateDto
.
getPc
().
equals
(
"WR"
)
||
jnsp7xtmDqsjExportTemplateDto
.
getPc
().
equals
(
"MP"
))
jnsp7xtmDqsj
.
setFactory
(
"CC1"
);
else
jnsp7xtmDqsj
.
setFactory
(
"CC2"
);
}
/**
* 将string 转换成 BigDecimal类型
* **/
if
(
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getAmt
()))
{
jnsp7xtmDqsj
.
setAmt
(
new
BigDecimal
(
jnsp7xtmDqsjExportTemplateDto
.
getAmt
()));
}
if
(
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getRate
()))
{
jnsp7xtmDqsj
.
setRate
(
new
BigDecimal
(
jnsp7xtmDqsjExportTemplateDto
.
getRate
()));
}
if
(
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getUp
()))
{
jnsp7xtmDqsj
.
setUp
(
new
BigDecimal
(
jnsp7xtmDqsjExportTemplateDto
.
getUp
()));
}
if
(
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getFc
()))
{
jnsp7xtmDqsj
.
setFc
(
new
BigDecimal
(
jnsp7xtmDqsjExportTemplateDto
.
getFc
()));
jnsp7xtmDqsj
.
setQty
(
jnsp7xtmDqsj
.
getFc
());
}
if
(
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getPo
()))
{
jnsp7xtmDqsj
.
setPo
(
new
BigDecimal
(
jnsp7xtmDqsjExportTemplateDto
.
getPo
()));
jnsp7xtmDqsj
.
setQty
(
jnsp7xtmDqsj
.
getPo
());
}
// y.qty = y.po + y.fc (BigDecimal)
if
(
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getPo
())
&&
StringUtils
.
isNotEmpty
(
jnsp7xtmDqsjExportTemplateDto
.
getFc
()))
{
jnsp7xtmDqsj
.
setQty
(
new
BigDecimal
(
jnsp7xtmDqsjExportTemplateDto
.
getPo
()).
add
(
new
BigDecimal
(
jnsp7xtmDqsjExportTemplateDto
.
getFc
())));
}
}
return
jnsp7xtmDqsj
;
}
}
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/service/Jnsp7xtmDqsjService.java
View file @
62c9cc05
...
@@ -3,6 +3,7 @@ package org.rcisoft.bus.jnsp7xtmdqsj.service;
...
@@ -3,6 +3,7 @@ package org.rcisoft.bus.jnsp7xtmdqsj.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.rcisoft.bus.jnsp7xtm.dto.Jnsp7xtmOptionDto
;
import
org.rcisoft.bus.jnsp7xtm.dto.Jnsp7xtmOptionDto
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjImportDto
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
import
org.rcisoft.bus.taskinfo.entity.TaskInfo
;
import
org.rcisoft.bus.taskinfo.entity.TaskInfo
;
...
@@ -10,7 +11,9 @@ import org.rcisoft.core.model.CyPersistModel;
...
@@ -10,7 +11,9 @@ import org.rcisoft.core.model.CyPersistModel;
import
org.rcisoft.core.aop.CyPageUtilAsp
;
import
org.rcisoft.core.aop.CyPageUtilAsp
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.result.enums.CyResSvcExcEnum
;
import
org.rcisoft.core.result.enums.CyResSvcExcEnum
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -96,4 +99,13 @@ public interface Jnsp7xtmDqsjService {
...
@@ -96,4 +99,13 @@ public interface Jnsp7xtmDqsjService {
* 客户表重置
* 客户表重置
* **/
* **/
CyPersistModel
clientReset
(
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
);
CyPersistModel
clientReset
(
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
);
/**下载空模板**/
void
jnsp7xtmDqsjDownEmptyTemplate
(
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
,
HttpServletResponse
response
);
/**
* 导入月度度表数据
* **/
Jnsp7xtmDqsjImportDto
jnsp7xtmDqsjImportDtoExcel
(
MultipartFile
file
);
}
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/service/impl/Jnsp7xtmDqsjServiceImpl.java
View file @
62c9cc05
This diff is collapsed.
Click to expand it.
src/main/java/org/rcisoft/enums/CyImportErrCodeEnum.java
0 → 100644
View file @
62c9cc05
package
org
.
rcisoft
.
enums
;
public
enum
CyImportErrCodeEnum
{
IMPORT_ERR
(
7000
);
private
Integer
code
;
public
Integer
getCode
()
{
return
code
;
}
CyImportErrCodeEnum
(
Integer
code
)
{
this
.
code
=
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
}
src/main/java/org/rcisoft/util/ExportToExcelUtil.java
View file @
62c9cc05
package
org
.
rcisoft
.
util
;
package
org
.
rcisoft
.
util
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.ExcelImportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.ImportParams
;
import
cn.afterturn.easypoi.excel.entity.enmus.ExcelType
;
import
cn.afterturn.easypoi.excel.entity.enmus.ExcelType
;
import
cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity
;
import
cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity
;
import
cn.afterturn.easypoi.excel.export.ExcelExportService
;
import
cn.afterturn.easypoi.excel.export.ExcelExportService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.ss.util.CellRangeAddressList
;
import
org.apache.poi.xssf.usermodel.XSSFDataValidation
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.util.CyEpExcelUtil
;
import
org.rcisoft.core.util.CyEpExcelUtil
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -25,6 +32,109 @@ import java.util.Map;
...
@@ -25,6 +32,109 @@ import java.util.Map;
*/
*/
@Slf4j
@Slf4j
public
class
ExportToExcelUtil
extends
CyEpExcelUtil
{
public
class
ExportToExcelUtil
extends
CyEpExcelUtil
{
public
static
<
T
>
List
<
T
>
importExcelNotTitle
(
MultipartFile
file
,
Integer
titleRows
,
Integer
headerRows
,
Class
<
T
>
pojoClass
)
{
if
(
file
==
null
)
{
return
null
;
}
else
{
ImportParams
params
=
new
ImportParams
();
List
list
=
null
;
try
{
list
=
ExcelImportUtil
.
importExcel
(
file
.
getInputStream
(),
pojoClass
,
params
);
return
list
;
}
catch
(
Exception
var7
)
{
throw
new
CyServiceException
(
502
,
"模板格式错误"
);
}
}
}
/**
* 为Excel表格添加下拉选项
* 解决单元格在某个时间点只能访问有限数据量而导致无法显示下拉选项的问题
* 适用于下拉选项总字节数大于 255 个字节的情况
* 缺点:会创建一个隐藏的sheet用于存放下拉选项
*
* @param formulaString 下拉选项数据
* @param workbook Excel工作簿
* @param sheet 设置下拉选项的工作表
* @param firstRow 起始行
* @param lastRow 终止行
* @param firstCol 起始列
* @param lastCol 终止列
*/
public
static
void
XSSFSetDropDownAndHidden
(
String
[]
formulaString
,
Workbook
workbook
,
Sheet
sheet
,
int
firstRow
,
int
lastRow
,
int
firstCol
,
int
lastCol
)
{
// 计算下拉选项全部字节数
int
totalBytes
=
Arrays
.
stream
(
formulaString
)
.
mapToInt
(
str
->
str
.
getBytes
(
StandardCharsets
.
UTF_8
).
length
)
.
sum
();
// 创建一个数据验证助手
DataValidationHelper
dvHelper
=
sheet
.
getDataValidationHelper
();
if
(
totalBytes
>
255
)
{
// 当总选项字节数大于 255 时创建隐藏工作表用于存放下拉选项
// 创建sheet,写入枚举项
//判断当前sheet不存在则创建
Sheet
hideSheet
=
workbook
.
getSheet
(
"hiddenSheet"
);
if
(
workbook
.
getSheet
(
"hiddenSheet"
)
==
null
)
{
hideSheet
=
workbook
.
createSheet
(
"hiddenSheet"
);
}
for
(
int
i
=
0
;
i
<
formulaString
.
length
;
i
++)
{
// 将下拉选项值存放在目标工作表下拉项目相同列
hideSheet
.
createRow
(
i
).
createCell
(
firstCol
).
setCellValue
(
formulaString
[
i
]);
}
// 创建名称,可被其他单元格引用
//判断当前名称不存在则创建
Name
hiddenSheetName
=
workbook
.
getName
(
"hidden"
);
if
(
workbook
.
getName
(
"hidden"
)
==
null
)
{
hiddenSheetName
=
workbook
.
createName
();
hiddenSheetName
.
setNameName
(
"hidden"
);
}
// 设置名称引用的公式
// 使用像'A1:B1'这样的相对值会导致在Microsoft Excel中使用工作簿时名称所指向的单元格的意外移动,
// 通常使用绝对引用,例如'$A$1:$B$1'可以避免这种情况。
// 根据 firstCol 计算引用索引字母
StringBuilder
columnLetter
=
new
StringBuilder
();
int
columnIndex
=
firstCol
;
while
(
columnIndex
>=
0
)
{
int
rem
=
columnIndex
%
26
;
columnLetter
.
append
((
char
)
(
'A'
+
rem
));
columnIndex
=
(
columnIndex
/
26
)
-
1
;
}
columnLetter
.
reverse
();
hiddenSheetName
.
setRefersToFormula
(
"hiddenSheet!$"
+
columnLetter
+
"$1:$"
+
columnLetter
+
"$"
+
formulaString
.
length
);
// 获取上文名称内数据
DataValidationConstraint
constraint
=
dvHelper
.
createFormulaListConstraint
(
"hidden"
);
// 设置下拉框位置
CellRangeAddressList
addressList
=
new
CellRangeAddressList
(
firstRow
,
lastRow
,
firstCol
,
lastCol
);
DataValidation
dataValidation
=
dvHelper
.
createValidation
(
constraint
,
addressList
);
// 处理Excel兼容性问题
if
(
dataValidation
instanceof
XSSFDataValidation
)
{
// 数据校验
dataValidation
.
setSuppressDropDownArrow
(
true
);
dataValidation
.
setShowErrorBox
(
true
);
}
else
{
dataValidation
.
setSuppressDropDownArrow
(
false
);
}
// 作用在目标sheet上
sheet
.
addValidationData
(
dataValidation
);
// 设置hiddenSheet隐藏
int
hideSheetIndex
=
workbook
.
getSheetIndex
(
hideSheet
);
workbook
.
setSheetHidden
(
hideSheetIndex
,
true
);
}
else
{
// 当总选项字节数不大于 255 时使用传统方式创建下拉选项
// 创建下拉列表约束
DataValidationConstraint
dvConstraint
=
dvHelper
.
createExplicitListConstraint
(
formulaString
);
// 设置数据验证的单元格区域(从firstRow行firstCol列到lastRow行lastCol列)
CellRangeAddressList
addressList
=
new
CellRangeAddressList
(
firstRow
,
lastRow
,
firstCol
,
lastCol
);
// 创建数据验证对象并添加到工作表
DataValidation
validation
=
dvHelper
.
createValidation
(
dvConstraint
,
addressList
);
sheet
.
addValidationData
(
validation
);
}
}
// 导出动态列
// 导出动态列
/**
/**
* entityList 表头
* entityList 表头
...
...
src/main/resources/application-dev-conf.yml
View file @
62c9cc05
...
@@ -134,5 +134,7 @@ jnsp7xtmDqsj:
...
@@ -134,5 +134,7 @@ jnsp7xtmDqsj:
pageQuestSize
:
5000
pageQuestSize
:
5000
# 每次添加到数据库的长度
# 每次添加到数据库的长度
batchAddPagesize
:
30
batchAddPagesize
:
30
# 导出时添加带数据库的数据长度
importBatchAddSize
:
30
# service 要重置的数据库
# service 要重置的数据库
shema
:
'
demo.dbo'
shema
:
'
demo.dbo'
src/main/resources/mapper/bus/jnsp7xtmdqsj/mapper/Jnsp7xtmDqsjMapper.xml
View file @
62c9cc05
...
@@ -447,5 +447,44 @@
...
@@ -447,5 +447,44 @@
jnsp.khdm is not null
jnsp.khdm is not null
and jnsp.pn is not null
and jnsp.pn is not null
</select>
</select>
<select
id=
"queryCustomer"
resultMap=
"BaseResultMap"
>
SELECT
cust_code AS cc,
cust_name AS cn,
cust_group,
cust_group2,
cust_rt1,
cust_io,
cust_newpic,
cust_group1,
cust_rout,
cust_rt2,
cust_addr,
cust_g0,
cust_g20,
cust_g30,
cust_g201,
cust_save,
cust_stype,
cust_g1,
cust_yj,
cust_yj2,
cust_yj3,
cust_gc
FROM
b_customer
WHERE
del_flag = '0'
AND cust_code = #{cc}
</select>
<select
id=
"querySypnByPn"
resultType=
"java.lang.String"
>
SELECT
sypn
FROM
b_pn_sypn
WHERE
del_flag = '0'
and pn = #{pn}
</select>
</mapper>
</mapper>
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