新疆新需求
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE `emergency_schedules_new_item`
|
||||
ADD COLUMN `sort` tinyint NULL DEFAULT 0 COMMENT '排序' AFTER `user_name`;
|
||||
+3
@@ -31,4 +31,7 @@ public class EmergencySchedulesItem {
|
||||
|
||||
@Schema(title = "人员姓名")
|
||||
private String userName;
|
||||
|
||||
@Schema(title = "排序")
|
||||
private Integer sort;
|
||||
}
|
||||
|
||||
+9
-2
@@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -29,10 +30,16 @@ public class WeekDataVO {
|
||||
private List<EmergencySchedulesItem> professionalUserList;
|
||||
|
||||
public List<EmergencySchedulesItem> getOperationUserList(List<EmergencySchedulesItem> itemList) {
|
||||
return itemList.stream().filter(item -> "0".equals(item.getUserType())).collect(Collectors.toList());
|
||||
return itemList.stream()
|
||||
.filter(item -> "0".equals(item.getUserType()))
|
||||
.sorted(Comparator.comparing(EmergencySchedulesItem::getSort)) // 根据 sort 字段升序排序
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<EmergencySchedulesItem> getProfessionalUserList(List<EmergencySchedulesItem> itemList) {
|
||||
return itemList.stream().filter(item -> "1".equals(item.getUserType())).collect(Collectors.toList());
|
||||
return itemList.stream()
|
||||
.filter(item -> "1".equals(item.getUserType()))
|
||||
.sorted(Comparator.comparing(EmergencySchedulesItem::getSort)) // 根据 sort 字段升序排序
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
+6
-3
@@ -160,7 +160,7 @@ public class EmergencySchedulesNewServiceImpl extends MPJBaseServiceImpl<Emergen
|
||||
private void processDay(EmergencySchedulesDTO dto, DayOfWeek day, List<EmergencySchedulesItem> itemList) {
|
||||
WeekDataVO daySchedules = getDaySchedules(dto, day);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(daySchedules)) {
|
||||
if (null != daySchedules) {
|
||||
EmergencySchedules emergencySchedules = new EmergencySchedules();
|
||||
emergencySchedules.setSchedulesTime(daySchedules.getTime());
|
||||
emergencySchedules.setId(StrUtil.isNotEmpty(daySchedules.getSchedulesId()) ? daySchedules.getSchedulesId() : null);
|
||||
@@ -194,16 +194,19 @@ public class EmergencySchedulesNewServiceImpl extends MPJBaseServiceImpl<Emergen
|
||||
// userList去重
|
||||
if (CollUtil.isNotEmpty(userList)) {
|
||||
Set<String> userIdSet = new HashSet<>();
|
||||
userList.forEach(item -> {
|
||||
int sortIndex = 0; // 添加计数器
|
||||
for (EmergencySchedulesItem item : userList) {
|
||||
String userId = item.getUserId();
|
||||
if (!userIdSet.contains(userId)) {
|
||||
// 如果不包含,则进行设置并添加
|
||||
item.setSchedulesId(emergencySchedules.getId());
|
||||
item.setUserType(userType);
|
||||
item.setSort(sortIndex);
|
||||
itemList.add(item);
|
||||
userIdSet.add(userId);
|
||||
sortIndex++;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
// 写入数据库
|
||||
itemService.saveOrUpdateBatch(itemList);
|
||||
|
||||
+139
-65
@@ -27,6 +27,7 @@ import org.jeecg.common.constant.FillRuleConstant;
|
||||
import org.jeecg.common.constant.SymbolConstant;
|
||||
import org.jeecg.common.exception.ExceptionAssertsUtil;
|
||||
import org.jeecg.common.system.bean.response.BaseUser;
|
||||
import org.jeecg.common.system.util.JwtUtil;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.system.vo.SysDepartGps;
|
||||
import org.jeecg.common.system.vo.SysDepartModel;
|
||||
@@ -211,7 +212,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
}
|
||||
//update-end---author:wangshuai ---date:20230216 for:[QQYUN-4163]给部门表加个是否有子节点------------
|
||||
//String s = UUID.randomUUID().toString().replace("-", "");
|
||||
sysDepart.setId(IdWorker.getIdStr(sysDepart));
|
||||
// sysDepart.setId(IdWorker.getIdStr(sysDepart));
|
||||
// 先判断该对象有无父级ID,有则意味着不是最高级,否则意味着是最高级
|
||||
// 获取父级ID
|
||||
String parentId = sysDepart.getParentId();
|
||||
@@ -1532,85 +1533,76 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void departDataInit() {
|
||||
String filePath = "D:\\Project\\Java\\rk\\文档\\新疆油田-24\\各二级单位坐标位置更正统计9.15.xlsx";
|
||||
// 获取目前的二级单位数据
|
||||
List<SysDepart> secondDeparts = departMapper
|
||||
.selectList(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getParentId, "1683768826307096578"));
|
||||
// 二级单位名称分组
|
||||
Map<String, SysDepart> secondMap = secondDeparts.stream()
|
||||
.collect(Collectors.toMap(SysDepart::getDepartName, depart -> depart, (existing, replacement) -> existing));
|
||||
public void departDataInit() {
|
||||
String filePath = "C:\\Users\\Huawei\\Desktop\\JSON-1761272930886.xlsx";
|
||||
|
||||
// 获取目前的三级部门数据
|
||||
List<SysDepart> threeDeparts = departMapper
|
||||
.selectList(new LambdaQueryWrapper<SysDepart>()
|
||||
.in(SysDepart::getParentId, secondDeparts.stream().map(SysDepart::getId).collect(Collectors.toList())));
|
||||
// 三级部门名称分组
|
||||
Map<String, SysDepart> threeMap = threeDeparts.stream()
|
||||
.collect(Collectors.toMap(SysDepart::getDepartName, depart -> depart, (existing, replacement) -> existing));
|
||||
|
||||
// 获取目前的四级部门数据
|
||||
List<SysDepart> fourDeparts = departMapper
|
||||
.selectList(new LambdaQueryWrapper<SysDepart>()
|
||||
.in(SysDepart::getParentId, threeDeparts.stream().map(SysDepart::getId).collect(Collectors.toList())));
|
||||
// 三级部门名称分组
|
||||
Map<String, SysDepart> fourMap = fourDeparts.stream()
|
||||
.collect(Collectors.toMap(SysDepart::getDepartName, depart -> depart, (existing, replacement) -> existing));
|
||||
|
||||
List<SysDepart> secondDepartList = new ArrayList<>();
|
||||
|
||||
List<SysDepart> threeDepartList = new ArrayList<>();
|
||||
|
||||
List<SysDepart> fourDepartList = new ArrayList<>();
|
||||
// 2
|
||||
List<SysDepart> twoDeparts = new ArrayList<>();
|
||||
// 3
|
||||
List<SysDepart> threeDeparts = new ArrayList<>();
|
||||
// 4
|
||||
List<SysDepart> fourDeparts = new ArrayList<>();
|
||||
// 5
|
||||
List<SysDepart> fiveDeparts = new ArrayList<>();
|
||||
// 6
|
||||
List<SysDepart> sixDeparts = new ArrayList<>();
|
||||
|
||||
try (FileInputStream file = new FileInputStream(filePath);
|
||||
XSSFWorkbook workbook = new XSSFWorkbook(file)) {
|
||||
|
||||
// 获取第一个工作表
|
||||
XSSFSheet sheet = workbook.getSheetAt(0);
|
||||
|
||||
// 从第二行开始(索引为1)
|
||||
for (int i = 2; i <= sheet.getLastRowNum(); i++) {
|
||||
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
|
||||
XSSFRow row = sheet.getRow(i);
|
||||
if (row != null) {
|
||||
// 获取第一个单元格(索引0)的数据 二级单位名称
|
||||
// 获取第一个单元格(索引0)的数据 层级
|
||||
XSSFCell firstCell = row.getCell(0);
|
||||
String firstCellValue = firstCell != null ? getCellValue(firstCell) : "[空]";
|
||||
String level = firstCell != null ? getCellValue(firstCell) : "[空]";
|
||||
|
||||
// 获取第二个单元格(索引1)的数据 三级部门名称
|
||||
XSSFCell secondCell = row.getCell(1);
|
||||
String secondCellValue = secondCell != null ? getCellValue(secondCell) : "[空]";
|
||||
// 获取第二个单元格(索引1)的数据 名称
|
||||
XSSFCell oneCell = row.getCell(1);
|
||||
String name = oneCell != null ? getCellValue(oneCell) : "[空]";
|
||||
|
||||
// 获取第三个单元格(索引1)的数据 经度
|
||||
XSSFCell threeCell = row.getCell(2);
|
||||
String threeCellValue = secondCell != null ? getCellValue(threeCell) : "[空]";
|
||||
// 获取第三个单元格(索引1)的数据 id
|
||||
XSSFCell secondCell = row.getCell(2);
|
||||
String unitId = secondCell != null ? getCellValue(secondCell) : "[空]";
|
||||
|
||||
// 获取第四个单元格(索引1)的数据 经度
|
||||
XSSFCell fourCell = row.getCell(3);
|
||||
String fourCellValue = secondCell != null ? getCellValue(fourCell) : "[空]";
|
||||
// 获取第四个单元格(索引1)的数据 上级id
|
||||
XSSFCell threeCell = row.getCell(3);
|
||||
String parentUnitId = threeCell != null ? getCellValue(threeCell) : "[空]";
|
||||
|
||||
if (StrUtil.isNotBlank(firstCellValue)) {
|
||||
SysDepart depart = secondMap.get(firstCellValue);
|
||||
if (depart == null) {
|
||||
// 现有不存在 需添加
|
||||
SysDepart newDepart = new SysDepart();
|
||||
newDepart.setDepartName(firstCellValue);
|
||||
newDepart.setParentId("1683768826307096578");
|
||||
newDepart.setOrgCategory("2");
|
||||
newDepart.setOrgType("2");
|
||||
this.saveDepartData(newDepart,GlobalUtils.getLoginUser().getUsername());
|
||||
if (null != newDepart.getId()){
|
||||
SysDepartGps departGps = new SysDepartGps();
|
||||
departGps.setDepartId(newDepart.getId());
|
||||
String run = converter.run(threeCellValue + "-" + fourCellValue);
|
||||
System.out.println(run);
|
||||
// // 经度
|
||||
// departGps.setLng();
|
||||
// // 纬度
|
||||
// departGps.setLat();
|
||||
// 获取第五个单元格(索引1)的数据 code
|
||||
XSSFCell fourCell = row.getCell(4);
|
||||
String unitCode = threeCell != null ? getCellValue(fourCell) : "[空]";
|
||||
|
||||
}
|
||||
}
|
||||
// 判断当前几级单位
|
||||
long numDepart = level.chars()
|
||||
.filter(c -> c == '|')
|
||||
.count();
|
||||
SysDepart depart = new SysDepart();
|
||||
depart.setId(unitCode);
|
||||
depart.setDepartName(name);
|
||||
depart.setDepartNameEn(unitId);
|
||||
depart.setParentId(parentUnitId);
|
||||
depart.setDepartOrder(0);
|
||||
depart.setOrgCategory("2");
|
||||
depart.setOrgClass("1");
|
||||
depart.setCreateBy(GlobalUtils.getLoginUser().getUsername());
|
||||
depart.setStatus("1");
|
||||
if (numDepart == 1){
|
||||
twoDeparts.add(depart);
|
||||
}
|
||||
if (numDepart == 2){
|
||||
threeDeparts.add(depart);
|
||||
}
|
||||
if (numDepart == 3){
|
||||
fourDeparts.add(depart);
|
||||
}
|
||||
if (numDepart == 4){
|
||||
fiveDeparts.add(depart);
|
||||
}
|
||||
if (numDepart == 5){
|
||||
sixDeparts.add(depart);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1620,6 +1612,88 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
System.out.println("读取Excel文件失败: " + e.getMessage());
|
||||
}
|
||||
|
||||
List<SysDepart> sysDeparts = departMapper.selectList(new LambdaQueryWrapper<>());
|
||||
|
||||
// 2
|
||||
// for (SysDepart twoDepart : twoDeparts) {
|
||||
// boolean exists = sysDeparts.stream()
|
||||
// .anyMatch(sysDepart -> twoDepart.getDepartNameEn().equals(sysDepart.getDepartNameEn()));
|
||||
//
|
||||
// if (exists) {
|
||||
// System.out.println("已添加过");
|
||||
// } else {
|
||||
// this.saveDepartData(twoDepart, twoDepart.getCreateBy());
|
||||
// }
|
||||
// }
|
||||
|
||||
//3
|
||||
// for (SysDepart threeDepart : threeDeparts) {
|
||||
// boolean exists = sysDeparts.stream()
|
||||
// .anyMatch(sysDepart -> threeDepart.getDepartNameEn().equals(sysDepart.getDepartNameEn()));
|
||||
//
|
||||
// if (exists) {
|
||||
// System.out.println("已添加过");
|
||||
// } else {
|
||||
// SysDepart depart = departMapper.selectOne(new LambdaQueryWrapper<SysDepart>()
|
||||
// .eq(SysDepart::getDepartNameEn, threeDepart.getParentId()));
|
||||
// if (depart != null) {
|
||||
// threeDepart.setParentId(depart.getId());
|
||||
// }
|
||||
// this.saveDepartData(threeDepart, threeDepart.getCreateBy());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// //4
|
||||
// for (SysDepart fourDepart : fourDeparts) {
|
||||
// boolean exists = sysDeparts.stream()
|
||||
// .anyMatch(sysDepart -> fourDepart.getDepartNameEn().equals(sysDepart.getDepartNameEn()));
|
||||
//
|
||||
// if (exists) {
|
||||
// System.out.println("已添加过");
|
||||
// } else {
|
||||
// SysDepart depart = departMapper.selectOne(new LambdaQueryWrapper<SysDepart>()
|
||||
// .eq(SysDepart::getDepartNameEn, fourDepart.getParentId()));
|
||||
// if (depart != null) {
|
||||
// fourDepart.setParentId(depart.getId());
|
||||
// }
|
||||
// this.saveDepartData(fourDepart, fourDepart.getCreateBy());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// //5
|
||||
// for (SysDepart fiveDepart : fiveDeparts) {
|
||||
// boolean exists = sysDeparts.stream()
|
||||
// .anyMatch(sysDepart -> fiveDepart.getDepartNameEn().equals(sysDepart.getDepartNameEn()));
|
||||
//
|
||||
// if (exists) {
|
||||
// System.out.println("已添加过");
|
||||
// } else {
|
||||
// SysDepart depart = departMapper.selectOne(new LambdaQueryWrapper<SysDepart>()
|
||||
// .eq(SysDepart::getDepartNameEn, fiveDepart.getParentId()));
|
||||
// if (depart != null) {
|
||||
// fiveDepart.setParentId(depart.getId());
|
||||
// }
|
||||
// this.saveDepartData(fiveDepart, fiveDepart.getCreateBy());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// //6
|
||||
for (SysDepart sixDepart : sixDeparts) {
|
||||
boolean exists = sysDeparts.stream()
|
||||
.anyMatch(sysDepart -> sixDepart.getDepartNameEn().equals(sysDepart.getDepartNameEn()));
|
||||
|
||||
if (exists) {
|
||||
System.out.println("已添加过");
|
||||
} else {
|
||||
SysDepart depart = departMapper.selectOne(new LambdaQueryWrapper<SysDepart>()
|
||||
.eq(SysDepart::getDepartNameEn, sixDepart.getParentId()));
|
||||
if (depart != null) {
|
||||
sixDepart.setParentId(depart.getId());
|
||||
}
|
||||
this.saveDepartData(sixDepart, sixDepart.getCreateBy());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user