Merge branch 'master' into dev-cq-bug

This commit is contained in:
liang.chao 2024-08-13 10:28:28 +08:00
commit a7991c4005
1 changed files with 13 additions and 40 deletions

View File

@ -161,74 +161,47 @@ public class ExcelServiceImpl implements ExcelService {
} }
} }
private void printLevel3Relation(Map<String, Map<String, List<MapType>>> level3Relation) { private void printLevel3Relation(Map<String, Map<String, List<MapType>>> level3Relation) {
for (Map.Entry<String, Map<String, List<MapType>>> firstLevel : level3Relation.entrySet()) { for (Map.Entry<String, Map<String, List<MapType>>> firstLevel : level3Relation.entrySet()) {
boolean outExist = true;
System.out.println("level_1: " + firstLevel.getKey()); System.out.println("level_1: " + firstLevel.getKey());
//TODO, sql查询是否有此名字 + parentId=0, select * from ma_part_type where name=? and parent_id=0;
MaPartType maPartType_level1 = excelMapper.selectMa(firstLevel.getKey(),0); MaPartType maPartType_level1 = excelMapper.selectMa(firstLevel.getKey(),0);
//TODO, 以上返回 maPartType_level1
if (Objects.nonNull(maPartType_level1)) { if (Objects.nonNull(maPartType_level1)) {
loopInner(firstLevel, outExist,maPartType_level1.getPaId()); loopInner(firstLevel, maPartType_level1.getPaId());
} else { } else {
//TODO, insert firstLevel, get id
MaPartType maPartType = new MaPartType(); MaPartType maPartType = new MaPartType();
maPartType.setPaName(firstLevel.getKey()); maPartType.setPaName(firstLevel.getKey());
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
maPartType.setParentId(0L); maPartType.setParentId(0L);
maPartType.setLevel("1"); maPartType.setLevel("1");
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据并且读取到parent_id excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据并且读取到parent_id
outExist = outExist && false; loopInner(firstLevel, maPartType.getPaId());
loopInner(firstLevel, outExist, maPartType.getPaId());
} }
} }
} }
private void loopInner(Map.Entry<String, Map<String, List<MapType>>> firstLevel, boolean outExist, long firstLevelId) { private void loopInner(Map.Entry<String, Map<String, List<MapType>>> firstLevel, long firstLevelId) {
for (Map.Entry<String, List<MapType>> secondLevel : firstLevel.getValue().entrySet()) { for (Map.Entry<String, List<MapType>> secondLevel : firstLevel.getValue().entrySet()) {
System.out.println("\tlevel_2: " + secondLevel.getKey()); System.out.println("\tlevel_2: " + secondLevel.getKey());
//TODO, sql查询是否有此名字 + parentId=firstLevelId, select * from ma_part_type where name=? and parent_id = firstLevelId;
MaPartType maPartType_level2 = excelMapper.selectMa(secondLevel.getKey(),firstLevelId); MaPartType maPartType_level2 = excelMapper.selectMa(secondLevel.getKey(),firstLevelId);
//TODO, 以上返回 maPartType_level2
if (Objects.nonNull(maPartType_level2)) { if (Objects.nonNull(maPartType_level2)) {
looplevel3(secondLevel, outExist, maPartType_level2.getPaId()); looplevel3(secondLevel, maPartType_level2.getPaId());
} else { } else {
//TODO, insert firstLevel, get id MaPartType maPartType = new MaPartType();
if (!outExist) { maPartType.setPaName(secondLevel.getKey());
MaPartType maPartType = new MaPartType(); maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
maPartType.setPaName(secondLevel.getKey()); maPartType.setParentId(firstLevelId);
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); maPartType.setLevel("2");
maPartType.setParentId(firstLevelId); excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据并且读取到parent_id
maPartType.setLevel("2"); looplevel3(secondLevel, maPartType.getPaId());
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据并且读取到parent_id
outExist = outExist && false;
looplevel3(secondLevel, outExist, maPartType.getPaId());
}
} }
} }
} }
private void looplevel3(Map.Entry<String, List<MapType>> secondLevel, boolean outExist, long secondLevelId) { private void looplevel3(Map.Entry<String, List<MapType>> secondLevel, long secondLevelId) {
for (MapType thirdLevel : secondLevel.getValue()) { for (MapType thirdLevel : secondLevel.getValue()) {
System.out.println("\t\tlevel_3: " + thirdLevel); System.out.println("\t\tlevel_3: " + thirdLevel);
//TODO, sql查询是否有此名字 + parentId=secondLevelId, select * from ma_part_type where name=? and parent_id = secondLevelId;
MaPartType maPartType_level3 = excelMapper.selectMa(thirdLevel.getPaName(),secondLevelId); MaPartType maPartType_level3 = excelMapper.selectMa(thirdLevel.getPaName(),secondLevelId);
//TODO, 以上返回 maPartType_level3 if (Objects.isNull(maPartType_level3)) {
if (Objects.nonNull(maPartType_level3)) {
if (!outExist) {
//TODO insert
MaPartType maPartType = new MaPartType();
maPartType.setPaName(thirdLevel.getPaName());
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
maPartType.setUnitId(thirdLevel.getUnitId());
maPartType.setBuyPrice(thirdLevel.getBuyPrice());
maPartType.setParentId(secondLevelId);
maPartType.setLevel("3");
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据并且读取到parent_id
}
} else {
//TODO insert
MaPartType maPartType = new MaPartType(); MaPartType maPartType = new MaPartType();
maPartType.setPaName(thirdLevel.getPaName()); maPartType.setPaName(thirdLevel.getPaName());
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());