Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-api-boot-master
Commits
09e16c02
Commit
09e16c02
authored
Dec 09, 2024
by
honghy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
空运已装单添加底色
parent
c0e65d3b
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
116 additions
and
36 deletions
+116
-36
ShipmentAirLoadExcelExportListener.java
...shipment/listener/ShipmentAirLoadExcelExportListener.java
+93
-29
ShipmentLoadExcelExportListener2.java
...e/shipment/listener/ShipmentLoadExcelExportListener2.java
+1
-1
CustomAirLoadMergeStrategyNew.java
.../module/shipment/utils/CustomAirLoadMergeStrategyNew.java
+22
-6
No files found.
yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/listener/ShipmentAirLoadExcelExportListener.java
View file @
09e16c02
...
...
@@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.ecw.service.cabinet.CabinetService;
import
cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO
;
import
cn.iocoder.yudao.module.infra.service.file.FileService
;
import
cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderItem.OrderItemDO
;
import
cn.iocoder.yudao.module.order.dto.OrderBackInfoDto
;
import
cn.iocoder.yudao.module.order.service.order.*
;
import
cn.iocoder.yudao.module.order.service.orderWarehouseIn.OrderWarehouseInService
;
...
...
@@ -32,6 +33,7 @@ import cn.iocoder.yudao.module.shipment.dal.dataobject.BoxMergePkgDO;
import
cn.iocoder.yudao.module.shipment.dal.dataobject.BoxPkgOrderDO
;
import
cn.iocoder.yudao.module.shipment.dto.AirLoadDto
;
import
cn.iocoder.yudao.module.shipment.dto.PreloadDto
;
import
cn.iocoder.yudao.module.shipment.enums.CustomsTypeEnum
;
import
cn.iocoder.yudao.module.shipment.service.box.BoxService
;
import
cn.iocoder.yudao.module.shipment.service.boxApproval.BoxApprovalService
;
import
cn.iocoder.yudao.module.shipment.service.boxMergePkg.BoxMergePkgService
;
...
...
@@ -50,6 +52,7 @@ import com.alibaba.fastjson.JSONObject;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.IndexedColors
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -222,6 +225,7 @@ public class ShipmentAirLoadExcelExportListener {
int
totalNum
=
0
;
BigDecimal
totalVolume
=
new
BigDecimal
(
0
);
BigDecimal
totalWeight
=
new
BigDecimal
(
0
);
BigDecimal
totalWorth
=
new
BigDecimal
(
0
);
Map
<
String
,
Integer
>
numMap
=
new
HashMap
();
List
<
AirLoadDto
>
preloadDtoList
=
new
ArrayList
<>();
...
...
@@ -230,8 +234,10 @@ public class ShipmentAirLoadExcelExportListener {
List
<
Integer
>
mergeCountList
=
new
ArrayList
();
List
<
Integer
>
colorRowList
=
new
ArrayList
<>();
List
<
Integer
>
colorRowList2
=
new
ArrayList
<>();
AtomicInteger
colorRowNum
=
new
AtomicInteger
(
5
);
Map
<
String
,
Integer
>
colorMap
=
new
HashMap
<>();
Map
<
String
,
Integer
>
colorMap2
=
new
HashMap
<>();
Map
<
String
,
Integer
>
mergePkgCountMap
=
new
LinkedHashMap
<>();
int
colorIndex
=
0
;
//以订单ID分组
...
...
@@ -240,7 +246,11 @@ public class ShipmentAirLoadExcelExportListener {
StringUtils
.
isNotBlank
(
item
.
getWarehouseInInfo
()))
.
collect
(
Collectors
.
groupingBy
(
BoxPreloadGoodsBackVO:
:
getOrderId
,
LinkedHashMap:
:
new
,
Collectors
.
toList
()));
List
<
ProductAttrDO
>
productAttrDOList
=
productAttrService
.
getProductAttrList
();
Map
<
String
,
String
>
idNameMap
=
productAttrDOList
.
stream
()
.
collect
(
Collectors
.
toMap
(
attr
->
String
.
valueOf
(
attr
.
getId
()),
ProductAttrDO:
:
getAttrName
));
for
(
Map
.
Entry
<
Long
,
List
<
BoxPreloadGoodsBackVO
>>
entry
:
orderMap
.
entrySet
())
{
boolean
prodAttrTag
=
false
;
Long
orderId
=
entry
.
getKey
();
Long
pkgId
=
entry
.
getValue
().
get
(
0
).
getPkgId
();
OrderBackInfoDto
orderInfo
=
orderQueryService
.
info
(
orderId
);
...
...
@@ -249,6 +259,59 @@ public class ShipmentAirLoadExcelExportListener {
orderWarehouseInService
.
getOrderWarehouseInListOrderByInTime
(
orderId
);
for
(
OrderWarehouseInBackItemVO
item
:
orderWarehouseInBackItemVOS
)
{
List
<
BoxPreloadGoodsBackVO
>
boxPreload
=
entry
.
getValue
();
List
<
OrderItemDO
>
orderItems
=
boxPreload
.
stream
().
map
(
a
->
orderItemService
.
getOrderItem
(
a
.
getOrderItemId
())).
collect
(
Collectors
.
toList
());
for
(
OrderItemDO
orderItem
:
orderItems
)
{
String
attrNames
=
getAttrNameByIds
(
orderItem
.
getProdAttrIds
(),
idNameMap
);
if
(
attrNames
.
contains
(
"危险品"
)){
prodAttrTag
=
true
;
}
}
AirLoadDto
preloadDto
=
new
AirLoadDto
();
preloadDto
.
setProdAttr
(
getAttrNameByIds
(
item
.
getProdAttrIds
(),
idNameMap
));
// 当订单的报关方式=混合报关,订单的底色为蓝色,#0000FF
// 当订单的报关方式=自单代报,订单的底色为橙色, #FF7F00
// 当订单的商品包含了特性=危险品DG,订单的底色为黄色, #FFFF00
// 当订单的商品包含了特性=危险品DG&订单的报关方式=自单代报/混合报关,底色为绿色,#00FF00
if
(
orderInfo
.
getCustomsType
()!=
null
){
preloadDto
.
setCustomsType
(
DictFrameworkUtils
.
getDictDataFromCache
(
"customs_type"
,
orderInfo
.
getCustomsType
()+
""
).
getLabel
());
if
(
CustomsTypeEnum
.
CUSTOMS_TYPE_3
.
getValue
().
equals
(
orderInfo
.
getCustomsType
())){
Integer
color
=
Integer
.
valueOf
(
IndexedColors
.
ROYAL_BLUE
.
index
);
if
(
prodAttrTag
){
color
=
Integer
.
valueOf
(
IndexedColors
.
ROYAL_BLUE
.
index
);
}
int
andIncrement2
=
colorRowNum
.
get
();
colorMap2
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
color
));
colorMap
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
color
));
colorRowList
.
add
(
andIncrement2
);
colorRowList2
.
add
(
andIncrement2
);
}
else
if
(
CustomsTypeEnum
.
CUSTOMS_TYPE_2
.
getValue
().
equals
(
orderInfo
.
getCustomsType
())){
Integer
color
=
Integer
.
valueOf
(
IndexedColors
.
ORANGE
.
index
);
if
(
prodAttrTag
){
color
=
Integer
.
valueOf
(
IndexedColors
.
GREEN
.
index
);
}
int
andIncrement2
=
colorRowNum
.
get
();
colorMap2
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
color
));
colorMap
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
color
));
colorRowList
.
add
(
andIncrement2
);
colorRowList2
.
add
(
andIncrement2
);
}
else
{
if
(
prodAttrTag
){
int
andIncrement2
=
colorRowNum
.
get
();
colorMap2
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
IndexedColors
.
YELLOW
.
index
));
colorMap
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
IndexedColors
.
YELLOW
.
index
));
colorRowList
.
add
(
andIncrement2
);
colorRowList2
.
add
(
andIncrement2
);
}
else
if
(
prodAttrTag
){
int
andIncrement2
=
colorRowNum
.
get
();
colorMap2
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
IndexedColors
.
YELLOW
.
index
));
colorMap
.
put
(
String
.
valueOf
(
andIncrement2
),
Integer
.
valueOf
(
IndexedColors
.
YELLOW
.
index
));
colorRowList
.
add
(
andIncrement2
);
colorRowList2
.
add
(
andIncrement2
);
}
}
}
int
andIncrement
=
colorRowNum
.
getAndIncrement
();
if
(
StringUtils
.
isNotBlank
(
item
.
getOrderWarehouseInDetails
()))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
item
.
getOrderWarehouseInDetails
());
...
...
@@ -258,7 +321,6 @@ public class ShipmentAirLoadExcelExportListener {
}
}
int
mergeCount
=
1
;
AirLoadDto
preloadDto
=
new
AirLoadDto
();
if
(
numMap
.
get
(
orderInfo
.
getOrderNo
())
!=
null
)
{
preloadDto
.
setId
(
String
.
valueOf
(
numMap
.
get
(
orderInfo
.
getOrderNo
())));
}
else
{
...
...
@@ -276,15 +338,10 @@ public class ShipmentAirLoadExcelExportListener {
if
(
productBrank
!=
null
&&
productBrank
.
getFiling
()!=
null
){
preloadDto
.
setProductRecord
(
productBrank
.
getFiling
().
equals
(
"0"
)?
"N"
:
"Y"
);
}
List
<
ProductAttrDO
>
productAttrDOList
=
productAttrService
.
getProductAttrList
();
Map
<
String
,
String
>
idNameMap
=
productAttrDOList
.
stream
()
.
collect
(
Collectors
.
toMap
(
attr
->
String
.
valueOf
(
attr
.
getId
()),
ProductAttrDO:
:
getAttrName
));
preloadDto
.
setProdAttr
(
getAttrNameByIds
(
item
.
getProdAttrIds
(),
idNameMap
));
if
(
orderInfo
.
getCustomsType
()!=
null
){
preloadDto
.
setCustomsType
(
DictFrameworkUtils
.
getDictDataFromCache
(
"customs_type"
,
orderInfo
.
getCustomsType
()+
""
).
getLabel
());
}
preloadDto
.
setSumNum
(
item
.
getCartonsNum
());
preloadDto
.
setPackageType
(
DictFrameworkUtils
.
getDictDataFromCache
(
"packaging_type"
,
item
.
getUnit
()).
getLabel
());
preloadDto
.
setPackageType
(
DictFrameworkUtils
.
getDictDataFromCache
(
"packaging_type"
,
item
.
getUnit
()).
getLabel
()
+
"/"
+
DictFrameworkUtils
.
getDictDataFromCache
(
"packaging_type"
,
item
.
getUnit
()).
getLabelEn
()
);
preloadDto
.
setBoxGauge
(
item
.
getBoxGauge
());
preloadDto
.
setSumVolume
(
item
.
getVolume
());
preloadDto
.
setSumWeight
(
item
.
getWeight
());
...
...
@@ -327,8 +384,9 @@ public class ShipmentAirLoadExcelExportListener {
preloadDto
.
setMaterial
(
DictFrameworkUtils
.
getDictDataFromCache
(
"product_material"
,
item
.
getMaterial
()+
""
).
getLabel
());
}
preloadDto
.
setUsageIds
(
getUsageMsg
(
item
.
getUsageIds
()));
BigDecimal
totalWorth
=
orderInfo
.
getOrderItemVOList
().
stream
().
map
(
OrderItemBackVO:
:
getWorth
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
preloadDto
.
setWorth
(
totalWorth
);
BigDecimal
totalWorth2
=
orderInfo
.
getOrderItemVOList
().
stream
().
map
(
OrderItemBackVO:
:
getWorth
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
totalWorth
=
totalWorth
.
add
(
totalWorth2
);
preloadDto
.
setWorth
(
totalWorth2
);
preloadDto
.
setTotalVolume
(
orderDO
.
getSumVolumeFinishedWarehouseIn
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
?
orderInfo
.
getSumVolume
():
orderDO
.
getSumVolumeFinishedWarehouseIn
());
preloadDto
.
setTotalWeight
(
orderDO
.
getSumWeightFinishedWarehouseIn
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
?
orderInfo
.
getSumWeight
():
orderDO
.
getSumWeightFinishedWarehouseIn
());
preloadDtoList
.
add
(
preloadDto
);
...
...
@@ -434,7 +492,13 @@ public class ShipmentAirLoadExcelExportListener {
preloadDto
.
setMergePkgVolume
(
totalMergeVolume
);
preloadDto
.
setMergePkgWeight
(
totalMergeWeight
);
preloadDto
.
setMergePkgQua
(
totalMergeQuality
);
preloadDto
.
setWorth
(
totalWorth
);
preloadDtoList
.
add
(
preloadDto
);
int
andIncrement
=
colorRowNum
.
getAndIncrement
();
colorMap2
.
put
(
String
.
valueOf
(
andIncrement
),
Integer
.
valueOf
(
IndexedColors
.
YELLOW
.
index
));
colorMap
.
put
(
String
.
valueOf
(
andIncrement
),
Integer
.
valueOf
(
IndexedColors
.
YELLOW
.
index
));
colorRowList
.
add
(
andIncrement
);
colorRowList2
.
add
(
andIncrement
);
allTotalNum
=
allTotalNum
+
totalNum
;
allTotalVolume
=
allTotalVolume
.
add
(
totalVolume
);
allTotalWeight
=
allTotalWeight
.
add
(
totalWeight
);
...
...
@@ -449,33 +513,33 @@ public class ShipmentAirLoadExcelExportListener {
// }
List
<
Integer
>
mergePkgCountList
=
mergePkgCountMap
.
entrySet
().
stream
().
map
(
Map
.
Entry
::
getValue
).
collect
(
Collectors
.
toList
());
WriteTable
writeTable
=
EasyExcel
.
writerTable
(
i
)
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
0
,
1
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
1
,
1
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
2
,
1
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
0
,
1
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
1
,
1
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
2
,
1
,
colorMap2
))
.
registerWriteHandler
(
new
CustomCellWriteHandler
(
colorRowList
,
3
,
colorMap
))
.
registerWriteHandler
(
new
CustomCellWriteHandler
(
colorRowList
,
4
,
colorMap
))
.
registerWriteHandler
(
new
CustomCellWriteHandler
(
colorRowList
,
5
,
colorMap
))
.
registerWriteHandler
(
new
CustomCellWriteHandler
(
colorRowList
,
6
,
colorMap
))
.
registerWriteHandler
(
new
CustomCellWriteHandler
(
colorRowList
,
7
,
colorMap
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
8
,
1
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
9
,
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
10
,
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
11
,
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
8
,
1
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
9
,
2
,
colorMap
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
10
,
2
,
colorMap
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
11
,
2
,
colorMap
2
))
// .registerWriteHandler(new CustomCellWriteHandler(colorRowList,11, colorMap))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
12
,
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
13
,
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
mergePkgCountList
,
14
,
3
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
mergePkgCountList
,
15
,
3
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
mergePkgCountList
,
16
,
3
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
mergePkgCountList
,
17
,
3
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
mergePkgCountList
,
18
,
3
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
mergePkgCountList
,
19
,
3
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
12
,
2
,
colorMap
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
13
,
2
,
colorMap
2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
mergePkgCountList
,
14
,
3
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
mergePkgCountList
,
15
,
3
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
mergePkgCountList
,
16
,
3
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
mergePkgCountList
,
17
,
3
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
mergePkgCountList
,
18
,
3
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
mergePkgCountList
,
19
,
3
,
colorMap2
))
// .registerWriteHandler(new CustomMergeStrategyNew(preloadDtoList,mergeCountList,colorRowList,20,1))
.
registerWriteHandler
(
new
CustomCellWriteHandler
(
colorRowList
,
20
,
colorMap
))
.
registerWriteHandler
(
new
CustomCellWriteHandler
(
colorRowList
,
21
,
colorMap
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
22
,
1
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
23
,
1
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
,
null
,
24
,
1
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
22
,
1
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
23
,
1
,
colorMap2
))
.
registerWriteHandler
(
new
CustomAirLoadMergeStrategyNew
(
preloadDtoList
,
mergeCountList
,
colorRowList
2
,
null
,
24
,
1
,
colorMap2
))
.
automaticMergeHead
(
true
).
head
(
headList
).
needHead
(
true
).
build
();
excelWriter
.
write
(
preloadDtoList
,
sheet
,
writeTable
);
}
...
...
yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/listener/ShipmentLoadExcelExportListener2.java
View file @
09e16c02
...
...
@@ -250,7 +250,7 @@ public class ShipmentLoadExcelExportListener2 {
if
(
orderInfo
.
getCustomsType
()!=
null
){
preloadDto
.
setCustomsType
(
DictFrameworkUtils
.
getDictDataFromCache
(
"customs_type"
,
orderInfo
.
getCustomsType
()+
""
).
getLabel
());
if
(
CustomsTypeEnum
.
CUSTOMS_TYPE_3
.
getValue
().
equals
(
orderInfo
.
getCustomsType
())){
Integer
color
=
Integer
.
valueOf
(
IndexedColors
.
BLUE1
.
index
);
Integer
color
=
Integer
.
valueOf
(
IndexedColors
.
ROYAL_BLUE
.
index
);
if
(
prodAttrTag
){
color
=
Integer
.
valueOf
(
IndexedColors
.
ROYAL_BLUE
.
index
);
}
...
...
yudao-module-shipment/yudao-module-shipment-core/src/main/java/cn/iocoder/yudao/module/shipment/utils/CustomAirLoadMergeStrategyNew.java
View file @
09e16c02
package
cn
.
iocoder
.
yudao
.
module
.
shipment
.
utils
;
import
cn.iocoder.yudao.module.shipment.dto.AirLoadDto
;
import
c
n.iocoder.yudao.module.shipment.dto.PreloadDto
;
import
c
om.alibaba.excel.metadata.CellData
;
import
com.alibaba.excel.metadata.Head
;
import
com.alibaba.excel.write.merge.AbstractMergeStrategy
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
com.alibaba.excel.write.metadata.holder.WriteSheetHolder
;
import
com.alibaba.excel.write.metadata.holder.WriteTableHolder
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.ss.util.CellRangeAddress
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -34,8 +35,6 @@ public class CustomAirLoadMergeStrategyNew extends AbstractMergeStrategy {
private
List
<
Integer
>
mergePkgCountList
;
private
int
mergeType
;
/**
...
...
@@ -46,14 +45,31 @@ public class CustomAirLoadMergeStrategyNew extends AbstractMergeStrategy {
// 需要开始合并单元格的首行index
private
Integer
rowIndex
;
private
Map
<
String
,
Integer
>
colorMap
;
// exportDataList为待合并目标列的值 partMerge为另外一种合并方式计算好的合并行数,mergeType 合并类型 1为订单维度合并 2为入仓记录维度的合并
public
CustomAirLoadMergeStrategyNew
(
List
<
AirLoadDto
>
exportDataList
,
List
<
Integer
>
partMergeList
,
List
<
Integer
>
colorRowList
,
List
<
Integer
>
mergePkgCountList
,
Integer
targetColumnIndex
,
int
mergeType
)
{
public
CustomAirLoadMergeStrategyNew
(
List
<
AirLoadDto
>
exportDataList
,
List
<
Integer
>
partMergeList
,
List
<
Integer
>
colorRowList
,
List
<
Integer
>
mergePkgCountList
,
Integer
targetColumnIndex
,
int
mergeType
,
Map
<
String
,
Integer
>
colorMap
)
{
this
.
exportFieldGroupCountList
=
getGroupCountList
(
exportDataList
,
targetColumnIndex
);
this
.
partMergeList
=
partMergeList
;
this
.
mergeType
=
mergeType
;
this
.
targetColumnIndex
=
targetColumnIndex
;
this
.
colorRowList
=
colorRowList
;
this
.
mergePkgCountList
=
mergePkgCountList
;
this
.
colorMap
=
colorMap
;
}
@Override
public
void
afterCellDispose
(
WriteSheetHolder
writeSheetHolder
,
WriteTableHolder
writeTableHolder
,
List
<
CellData
>
cellDataList
,
Cell
cell
,
Head
head
,
Integer
relativeRowIndex
,
Boolean
isHead
)
{
Workbook
workbook
=
writeSheetHolder
.
getSheet
().
getWorkbook
();
if
(
colorRowList
.
contains
(
cell
.
getRowIndex
())
&&
cell
.
getColumnIndex
()
==
targetColumnIndex
)
{
CellStyle
cellStyle
=
workbook
.
createCellStyle
();
cellStyle
.
setFillForegroundColor
(
IndexedColors
.
fromInt
(
colorMap
.
get
(
String
.
valueOf
(
cell
.
getRowIndex
()))).
index
);
cellStyle
.
setFillPattern
(
FillPatternType
.
SOLID_FOREGROUND
);
cell
.
setCellStyle
(
cellStyle
);
}
if
(!
isHead
)
{
this
.
merge
(
writeSheetHolder
.
getSheet
(),
cell
,
head
,
relativeRowIndex
);
}
}
...
...
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