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
a92a2cee
Commit
a92a2cee
authored
Jul 11, 2024
by
刘_震
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
code转一二级分类
parent
a4b510fa
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
145 additions
and
84 deletions
+145
-84
ruoyi-wages/src/main/java/com/ruoyi/system/controller/AsiccSuppliesController.java
.../com/ruoyi/system/controller/AsiccSuppliesController.java
+9
-3
ruoyi-wages/src/main/java/com/ruoyi/system/mapper/AsiccSuppliesMapper.java
...ain/java/com/ruoyi/system/mapper/AsiccSuppliesMapper.java
+7
-4
ruoyi-wages/src/main/java/com/ruoyi/system/service/AsiccSuppliesService.java
...n/java/com/ruoyi/system/service/AsiccSuppliesService.java
+4
-1
ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/AsiccSuppliesServiceImpl.java
...m/ruoyi/system/service/impl/AsiccSuppliesServiceImpl.java
+59
-49
ruoyi-wages/src/main/resources/mapper/system/AsiccSuppliesMapper.xml
.../src/main/resources/mapper/system/AsiccSuppliesMapper.xml
+66
-27
No files found.
ruoyi-wages/src/main/java/com/ruoyi/system/controller/AsiccSuppliesController.java
View file @
a92a2cee
...
...
@@ -20,9 +20,15 @@ import java.util.Map;
public
class
AsiccSuppliesController
{
private
final
AsiccSuppliesService
asiccSuppliesService
;
@PostMapping
(
"/data"
)
public
AjaxResult
getData
(
@RequestParam
(
"mineId"
)
String
mineId
){
List
<
Object
>
voList
=
asiccSuppliesService
.
getData
(
mineId
);
// @PostMapping("/data")
// public AjaxResult getData(@RequestParam("mineId") String mineId){
// List<Object> voList = asiccSuppliesService.getData(mineId);
// return AjaxResult.success(voList);
// }
@PostMapping
(
"/getData"
)
public
AjaxResult
getData
(
@RequestBody
AsiccDAO
asiccDAO
){
Map
<
String
,
Object
>
voList
=
asiccSuppliesService
.
getData
(
asiccDAO
);
return
AjaxResult
.
success
(
voList
);
}
}
ruoyi-wages/src/main/java/com/ruoyi/system/mapper/AsiccSuppliesMapper.java
View file @
a92a2cee
package
com.ruoyi.system.mapper
;
import
com.ruoyi.system.domain.ActSupplies
;
import
com.ruoyi.system.domain.ActSuppliesImportCleaningAcc
;
import
com.ruoyi.system.domain.ActSuppliesMaterialCode
;
import
com.ruoyi.system.domain.ActSuppliesMaterialDetails
;
import
com.ruoyi.system.domain.*
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -28,4 +25,10 @@ public interface AsiccSuppliesMapper {
List
<
ActSupplies
>
select1
();
List
<
ActSupplies
>
select2
();
List
<
ActSuppliesDetails
>
select
();
ActSupplies
selectByNum
();
ActSupplies
selectById
(
@Param
(
"id"
)
Object
sid
);
}
ruoyi-wages/src/main/java/com/ruoyi/system/service/AsiccSuppliesService.java
View file @
a92a2cee
package
com.ruoyi.system.service
;
import
com.ruoyi.system.model.wages.dao.AsiccDAO
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author haiwe
...
...
@@ -8,5 +11,5 @@ import java.util.List;
*/
public
interface
AsiccSuppliesService
{
List
<
Object
>
getData
(
String
mineId
);
Map
<
String
,
Object
>
getData
(
AsiccDAO
asiccDAO
);
}
ruoyi-wages/src/main/java/com/ruoyi/system/service/impl/AsiccSuppliesServiceImpl.java
View file @
a92a2cee
package
com.ruoyi.system.service.impl
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.system.domain.ActSupplies
;
import
com.ruoyi.system.domain.ActSuppliesDetails
;
import
com.ruoyi.system.domain.ActSuppliesMaterialCode
;
import
com.ruoyi.system.mapper.AsiccSuppliesMapper
;
import
com.ruoyi.system.model.wages.dao.AsiccDAO
;
import
com.ruoyi.system.model.wages.vo.AsiccVo
;
import
com.ruoyi.system.service.AsiccSuppliesService
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -22,59 +25,66 @@ public class AsiccSuppliesServiceImpl implements AsiccSuppliesService {
private
final
AsiccSuppliesMapper
asiccSuppliesMapper
;
@Override
public
List
<
Object
>
getData
(
String
mineId
)
{
//查询level为1的数据
List
<
ActSupplies
>
suppliesList1
=
asiccSuppliesMapper
.
select1
();
//查询level为2的数据
List
<
ActSupplies
>
suppliesList2
=
asiccSuppliesMapper
.
select2
();
List
<
ActSuppliesMaterialCode
>
codeList
=
asiccSuppliesMapper
.
selectByMineId
(
mineId
);
List
<
Object
>
voList
=
new
ArrayList
<>();
if
(!
codeList
.
isEmpty
())
{
for
(
ActSuppliesMaterialCode
code
:
codeList
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
String
codeMax
=
code
.
getCodeMax
();
String
codeMin
=
code
.
getCodeMin
();
//二级分类的名称
String
materialName
=
code
.
getMaterialName
();
//一级分类的编码
String
codeType
=
code
.
getMaterialCodeType
();
for
(
ActSupplies
supplies
:
suppliesList1
)
{
public
Map
<
String
,
Object
>
getData
(
AsiccDAO
asiccDAO
)
{
long
begin
=
System
.
currentTimeMillis
();
List
<
ActSuppliesDetails
>
detailsList
=
asiccSuppliesMapper
.
select
();
//特殊处理最后没有匹配上的数据的id为10
ActSupplies
actSupplies
=
asiccSuppliesMapper
.
selectByNum
();
//存放detailsList中的code
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
detailsList
.
forEach
(
v
->{
String
actCode
=
v
.
getCode
();
Long
sid
=
v
.
getSid
();
map
.
put
(
actCode
,
sid
);
});
Map
<
String
,
Object
>
voMap
=
new
HashMap
<>();
//存放处理之后的code (asiccDAO中的Code)
for
(
String
code
:
asiccDAO
.
getCodes
())
{
List
<
String
>
codeList
=
new
ArrayList
<>();
String
kmCode
=
StringUtils
.
substring
(
code
,
0
,
6
);
if
(
map
.
containsKey
(
kmCode
))
{
Object
sid
=
map
.
get
(
kmCode
);
ActSupplies
supplies
=
asiccSuppliesMapper
.
selectById
(
sid
);
String
oneLevel
=
supplies
.
getOneLevel
();
if
(
Objects
.
equals
(
codeType
,
oneLevel
)){
//一级分类名称
String
suppliesName
=
supplies
.
getSuppliesName
();
map
.
put
(
"最大编码"
,
codeMax
);
map
.
put
(
"最小编码"
,
codeMin
);
map
.
put
(
"一级分类"
,
suppliesName
);
map
.
put
(
"二级分类"
,
materialName
);
voList
.
add
(
map
);
}
}
}
return
voList
;
}
else
{
//矿id不存在的情况
for
(
ActSupplies
supplies2
:
suppliesList2
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
//二级分类
String
twoLevel
=
supplies2
.
getSuppliesName
();
//最大编码和最小编码
String
codeColumn
=
supplies2
.
getCode
();
String
oneCode
=
supplies2
.
getOneLevel
();
for
(
ActSupplies
supplies1
:
suppliesList1
)
{
String
oneType
=
supplies1
.
getOneLevel
();
if
(
Objects
.
equals
(
oneCode
,
oneType
)){
//一级分类名称
String
oneLevel
=
supplies1
.
getSuppliesName
();
map
.
put
(
"最大编码"
,
codeColumn
);
map
.
put
(
"最小编码"
,
codeColumn
);
map
.
put
(
"一级分类"
,
oneLevel
);
map
.
put
(
"二级分类"
,
twoLevel
);
voList
.
add
(
map
);
String
twoLevel
=
supplies
.
getTwoLevel
();
codeList
.
add
(
oneLevel
);
codeList
.
add
(
twoLevel
);
voMap
.
put
(
code
,
codeList
);
}
else
{
kmCode
=
StringUtils
.
substring
(
kmCode
,
0
,
4
);
if
(
map
.
containsKey
(
kmCode
))
{
Object
sid
=
map
.
get
(
kmCode
);
ActSupplies
supplies
=
asiccSuppliesMapper
.
selectById
(
sid
);
String
oneLevel
=
supplies
.
getOneLevel
();
String
twoLevel
=
supplies
.
getTwoLevel
();
codeList
.
add
(
oneLevel
);
codeList
.
add
(
twoLevel
);
voMap
.
put
(
code
,
codeList
);
}
else
{
kmCode
=
StringUtils
.
substring
(
kmCode
,
0
,
2
);
if
(
map
.
containsKey
(
kmCode
))
{
Object
sid
=
map
.
get
(
kmCode
);
ActSupplies
supplies
=
asiccSuppliesMapper
.
selectById
(
sid
);
String
oneLevel
=
supplies
.
getOneLevel
();
String
twoLevel
=
supplies
.
getTwoLevel
();
codeList
.
add
(
oneLevel
);
codeList
.
add
(
twoLevel
);
voMap
.
put
(
code
,
codeList
);
}
else
{
//kmCode一律为10
String
oneLevel
=
actSupplies
.
getSuppliesName
();
codeList
.
add
(
oneLevel
);
codeList
.
add
(
"null"
);
voMap
.
put
(
code
,
codeList
);
}
}
}
return
voList
;
}
long
end
=
System
.
currentTimeMillis
();
System
.
err
.
println
(
end
-
begin
);
return
voMap
;
}
}
ruoyi-wages/src/main/resources/mapper/system/AsiccSuppliesMapper.xml
View file @
a92a2cee
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.ruoyi.system.mapper.AsiccSuppliesMapper"
>
<resultMap
type=
"com.ruoyi.system.domain.ActSupplies"
id=
"ActSuppliesResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"oneLevel"
column=
"one_level"
/>
<result
property=
"twoLevel"
column=
"two_level"
/>
<result
property=
"threeLevel"
column=
"three_level"
/>
<result
property=
"id"
column=
"id"
/>
<result
property=
"oneLevel"
column=
"one_level"
/>
<result
property=
"twoLevel"
column=
"two_level"
/>
<result
property=
"threeLevel"
column=
"three_level"
/>
<result
property=
"code"
column=
"codes"
/>
<result
property=
"suppliesName"
column=
"supplies_name"
/>
<result
property=
"level"
column=
"level"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"suppliesName"
column=
"supplies_name"
/>
<result
property=
"level"
column=
"level"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"codeColumn"
column=
"code_column"
/>
</resultMap>
<resultMap
type=
"com.ruoyi.system.domain.ActSuppliesMaterialCode"
id=
"ActSuppliesMaterialCodeResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"mineId"
column=
"mine_id"
/>
<result
property=
"codeMin"
column=
"code_min"
/>
<result
property=
"codeMax"
column=
"code_max"
/>
<result
property=
"materialCodeType"
column=
"material_code_type"
/>
<result
property=
"materialName"
column=
"material_name"
/>
<result
property=
"varietyOfCoal"
column=
"variety_of_coal"
/>
<result
property=
"id"
column=
"id"
/>
<result
property=
"mineId"
column=
"mine_id"
/>
<result
property=
"codeMin"
column=
"code_min"
/>
<result
property=
"codeMax"
column=
"code_max"
/>
<result
property=
"materialCodeType"
column=
"material_code_type"
/>
<result
property=
"materialName"
column=
"material_name"
/>
<result
property=
"varietyOfCoal"
column=
"variety_of_coal"
/>
</resultMap>
<select
id=
"selectByCodeAndMineId"
resultMap=
"ActSuppliesResult"
>
select distinct (act.one_level) as `one_level`, act.two_level as `two_level` , act.level `level`, act.supplies_name as supplies_name,
select distinct (act.one_level) as `one_level`, act.two_level as `two_level` , act.level `level`,
act.supplies_name as supplies_name,
asicc1.code_column as code_column
from act_supplies_import_cleaning_copy1 asicc1
LEFT JOIN act_supplies act on codes = asicc1.categories
...
...
@@ -48,7 +49,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select
id=
"selectByOneLevel"
resultMap=
"ActSuppliesResult"
>
select one_level, two_level, three_level, codes, supplies_name, level, status
from act_supplies
where one_level = #{oneLevel} and level = 1
where one_level = #{oneLevel}
and level = 1
</select>
<select
id=
"selectByMineId"
resultMap=
"ActSuppliesMaterialCodeResult"
>
select mine_id, code_min, code_max, material_code_type, material_name, variety_of_coal
...
...
@@ -69,4 +71,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from act_supplies
where level = 2
</select>
<select
id=
"select"
resultType=
"com.ruoyi.system.domain.ActSuppliesDetails"
>
select id,
sid,
one_level,
two_level,
three_level,
code,
details_name,
sysclassify,
level,
status,
create_by,
create_time,
update_by,
update_time
from act_supplies_details
</select>
<select
id=
"selectByNum"
resultMap=
"ActSuppliesResult"
>
select one_level, two_level, three_level, codes, supplies_name, level
from act_supplies
where codes = '10';
</select>
<select
id=
"selectById"
resultMap=
"ActSuppliesResult"
>
SELECT CASE
WHEN asu.two_level IS NULL THEN asu.supplies_name
ELSE (SELECT a.supplies_name FROM act_supplies a WHERE a.one_level = asu.one_level LIMIT 1)
END
AS one_level,
CASE
WHEN asu.two_level IS NOT NULL THEN asu.supplies_name
END
AS two_level
FROM
act_supplies asu
WHERE
asu.id = #{id};
</select>
</mapper>
\ No newline at end of file
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