fix (farm): 人员管理,大屏

- 人员管理简化流程
- 大屏数据切换接口
This commit is contained in:
达富斌
2025-11-20 19:45:54 +08:00
parent f8cc2aa0cb
commit 02d71d6bfb
17 changed files with 312 additions and 227 deletions

View File

@@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdata
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.disasterdata.vo.DisasterDataPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.disasterdata.vo.DisasterDataPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.disasterdata.vo.DisasterDataRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.disasterdata.vo.DisasterDataRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.disasterdata.vo.DisasterDataSaveReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.disasterdata.vo.DisasterDataSaveReqVO;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;

View File

@@ -90,4 +90,20 @@ public class FoundationInfoController {
BeanUtils.toBean(list, FoundationInfoRespVO.class)); BeanUtils.toBean(list, FoundationInfoRespVO.class));
} }
@GetMapping("/data-toggle/get")
@Operation(summary = "数据切换-获取")
@Parameter(name = "data", description = "数据", required = true)
public CommonResult<String> getDataToggle(@RequestParam("data") String data) {
String res = "";
return success(res);
}
@PostMapping("/data-toggle/create")
@Operation(summary = "数据切换-保存")
@Parameter(name = "data", description = "数据", required = true)
public CommonResult<String> createDataToggle(@RequestParam("data") String data) {
return success("success");
}
} }

View File

@@ -41,14 +41,14 @@ public class ScreenDisasterDataController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建大屏数据-灾害数据") @Operation(summary = "创建大屏数据-灾害数据")
@PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:create')") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:create')")
public CommonResult<String> createScreenDisasterData(@Valid @RequestBody ScreenDisasterDataSaveReqVO createReqVO) { public CommonResult<String> createScreenDisasterData(@Valid @RequestBody ScreenDisasterDataSaveReqVO createReqVO) {
return success(screenDisasterDataService.createScreenDisasterData(createReqVO)); return success(screenDisasterDataService.createScreenDisasterData(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新大屏数据-灾害数据") @Operation(summary = "更新大屏数据-灾害数据")
@PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:update')") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:update')")
public CommonResult<Boolean> updateScreenDisasterData(@Valid @RequestBody ScreenDisasterDataSaveReqVO updateReqVO) { public CommonResult<Boolean> updateScreenDisasterData(@Valid @RequestBody ScreenDisasterDataSaveReqVO updateReqVO) {
screenDisasterDataService.updateScreenDisasterData(updateReqVO); screenDisasterDataService.updateScreenDisasterData(updateReqVO);
return success(true); return success(true);
@@ -57,7 +57,7 @@ public class ScreenDisasterDataController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除大屏数据-灾害数据") @Operation(summary = "删除大屏数据-灾害数据")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:delete')") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:delete')")
public CommonResult<Boolean> deleteScreenDisasterData(@RequestParam("id") String id) { public CommonResult<Boolean> deleteScreenDisasterData(@RequestParam("id") String id) {
screenDisasterDataService.deleteScreenDisasterData(id); screenDisasterDataService.deleteScreenDisasterData(id);
return success(true); return success(true);
@@ -66,7 +66,7 @@ public class ScreenDisasterDataController {
@DeleteMapping("/delete-list") @DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true) @Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除大屏数据-灾害数据") @Operation(summary = "批量删除大屏数据-灾害数据")
@PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:delete')") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:delete')")
public CommonResult<Boolean> deleteScreenDisasterDataList(@RequestParam("ids") List<String> ids) { public CommonResult<Boolean> deleteScreenDisasterDataList(@RequestParam("ids") List<String> ids) {
screenDisasterDataService.deleteScreenDisasterDataListByIds(ids); screenDisasterDataService.deleteScreenDisasterDataListByIds(ids);
return success(true); return success(true);
@@ -75,7 +75,7 @@ public class ScreenDisasterDataController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得大屏数据-灾害数据") @Operation(summary = "获得大屏数据-灾害数据")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:query')") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:query')")
public CommonResult<ScreenDisasterDataRespVO> getScreenDisasterData(@RequestParam("id") String id) { public CommonResult<ScreenDisasterDataRespVO> getScreenDisasterData(@RequestParam("id") String id) {
ScreenDisasterDataDO screenDisasterData = screenDisasterDataService.getScreenDisasterData(id); ScreenDisasterDataDO screenDisasterData = screenDisasterDataService.getScreenDisasterData(id);
return success(BeanUtils.toBean(screenDisasterData, ScreenDisasterDataRespVO.class)); return success(BeanUtils.toBean(screenDisasterData, ScreenDisasterDataRespVO.class));
@@ -83,7 +83,7 @@ public class ScreenDisasterDataController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得大屏数据-灾害数据分页") @Operation(summary = "获得大屏数据-灾害数据分页")
@PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:query')") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:query')")
public CommonResult<PageResult<ScreenDisasterDataRespVO>> getScreenDisasterDataPage(@Valid ScreenDisasterDataPageReqVO pageReqVO) { public CommonResult<PageResult<ScreenDisasterDataRespVO>> getScreenDisasterDataPage(@Valid ScreenDisasterDataPageReqVO pageReqVO) {
PageResult<ScreenDisasterDataDO> pageResult = screenDisasterDataService.getScreenDisasterDataPage(pageReqVO); PageResult<ScreenDisasterDataDO> pageResult = screenDisasterDataService.getScreenDisasterDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ScreenDisasterDataRespVO.class)); return success(BeanUtils.toBean(pageResult, ScreenDisasterDataRespVO.class));
@@ -91,7 +91,7 @@ public class ScreenDisasterDataController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出大屏数据-灾害数据 Excel") @Operation(summary = "导出大屏数据-灾害数据 Excel")
@PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:export')") // @PreAuthorize("@ss.hasPermission('farm:screen-disaster-data:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportScreenDisasterDataExcel(@Valid ScreenDisasterDataPageReqVO pageReqVO, public void exportScreenDisasterDataExcel(@Valid ScreenDisasterDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

View File

@@ -28,87 +28,87 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理中心 - 人员管理") @Tag(name = "管理中心 - 人员管理")
@RestController //@RestController
@RequestMapping("/farm/personnel-management") //@RequestMapping("/farm/personnel-management")
@Validated //@Validated
public class PersonnelManagementController { public class PersonnelManagementController {
@Resource // @Resource
private PersonnelManagementService personnelManagementService; // private PersonnelManagementService personnelManagementService;
@PostMapping("/create") // @PostMapping("/create")
@Operation(summary = "创建人员管理") // @Operation(summary = "创建人员管理")
public CommonResult<String> createPersonnelManagement(@Valid @RequestBody PersonnelManagementSaveReqVO createReqVO) { // public CommonResult<String> createPersonnelManagement(@Valid @RequestBody PersonnelManagementSaveReqVO createReqVO) {
String management = personnelManagementService.createPersonnelManagement(createReqVO); // String management = personnelManagementService.createPersonnelManagement(createReqVO);
if (management.length() > 0) { // if (management.length() > 0) {
return success(management); // return success(management);
} else { // } else {
return error(501,"手机号重复!"); // return error(501,"手机号重复!");
} // }
} // }
@PutMapping("/reset") // @PutMapping("/reset")
@Operation(summary = "密码重置") // @Operation(summary = "密码重置")
public CommonResult<Boolean> reset(@Valid @RequestBody PersonnelManagementSaveReqVO updateReqVO) { // public CommonResult<Boolean> reset(@Valid @RequestBody PersonnelManagementSaveReqVO updateReqVO) {
personnelManagementService.reset(updateReqVO); // personnelManagementService.reset(updateReqVO);
return success(true); // return success(true);
} // }
@PutMapping("/update") // @PutMapping("/update")
@Operation(summary = "更新人员管理") // @Operation(summary = "更新人员管理")
public CommonResult<Boolean> updatePersonnelManagement(@Valid @RequestBody PersonnelManagementSaveReqVO updateReqVO) { // public CommonResult<Boolean> updatePersonnelManagement(@Valid @RequestBody PersonnelManagementSaveReqVO updateReqVO) {
personnelManagementService.updatePersonnelManagement(updateReqVO); // personnelManagementService.updatePersonnelManagement(updateReqVO);
return success(true); // return success(true);
} // }
@DeleteMapping("/delete") // @DeleteMapping("/delete")
@Operation(summary = "删除人员管理") // @Operation(summary = "删除人员管理")
@Parameter(name = "id", description = "编号", required = true) // @Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> deletePersonnelManagement(@RequestParam("id") String id) { // public CommonResult<Boolean> deletePersonnelManagement(@RequestParam("id") String id) {
personnelManagementService.deletePersonnelManagement(id); // personnelManagementService.deletePersonnelManagement(id);
return success(true); // return success(true);
} // }
//
// @DeleteMapping("/delete-list")
// @Parameter(name = "ids", description = "编号", required = true)
// @Operation(summary = "批量删除人员管理")
// public CommonResult<Boolean> deletePersonnelManagementList(@RequestParam("ids") List<String> ids) {
// personnelManagementService.deletePersonnelManagementListByIds(ids);
// return success(true);
// }
@DeleteMapping("/delete-list") // @GetMapping("/get")
@Parameter(name = "ids", description = "编号", required = true) // @Operation(summary = "获得人员管理")
@Operation(summary = "批量删除人员管理") // @Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<Boolean> deletePersonnelManagementList(@RequestParam("ids") List<String> ids) { // public CommonResult<PersonnelManagementRespVO> getPersonnelManagement(@RequestParam("id") String id) {
personnelManagementService.deletePersonnelManagementListByIds(ids); // PersonnelManagementDO personnelManagement = personnelManagementService.getPersonnelManagement(id);
return success(true); // return success(BeanUtils.toBean(personnelManagement, PersonnelManagementRespVO.class));
} // }
@GetMapping("/get") // @GetMapping("/page")
@Operation(summary = "获得人员管理") // @Operation(summary = "获得人员管理分页")
@Parameter(name = "id", description = "编号", required = true, example = "1024") // public CommonResult<PageResult<PersonnelManagementRespVO>> getPersonnelManagementPage(@Valid PersonnelManagementPageReqVO pageReqVO) {
public CommonResult<PersonnelManagementRespVO> getPersonnelManagement(@RequestParam("id") String id) { // PageResult<PersonnelManagementDO> pageResult = personnelManagementService.getPersonnelManagementPage(pageReqVO);
PersonnelManagementDO personnelManagement = personnelManagementService.getPersonnelManagement(id); // return success(BeanUtils.toBean(pageResult, PersonnelManagementRespVO.class));
return success(BeanUtils.toBean(personnelManagement, PersonnelManagementRespVO.class)); // }
} //
// @GetMapping("/getList")
// @Operation(summary = "获得人员管理全量数据")
// public CommonResult<List<PersonnelManagementRespVO>> getList(@Valid PersonnelManagementPageReqVO pageReqVO) {
// List<PersonnelManagementDO> pageResult = personnelManagementService.getList(pageReqVO);
// return success(BeanUtils.toBean(pageResult, PersonnelManagementRespVO.class));
// }
@GetMapping("/page") // @GetMapping("/export-excel")
@Operation(summary = "获得人员管理分页") // @Operation(summary = "导出人员管理 Excel")
public CommonResult<PageResult<PersonnelManagementRespVO>> getPersonnelManagementPage(@Valid PersonnelManagementPageReqVO pageReqVO) { // @ApiAccessLog(operateType = EXPORT)
PageResult<PersonnelManagementDO> pageResult = personnelManagementService.getPersonnelManagementPage(pageReqVO); // public void exportPersonnelManagementExcel(@Valid PersonnelManagementPageReqVO pageReqVO,
return success(BeanUtils.toBean(pageResult, PersonnelManagementRespVO.class)); // HttpServletResponse response) throws IOException {
} // pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// List<PersonnelManagementDO> list = personnelManagementService.getPersonnelManagementPage(pageReqVO).getList();
@GetMapping("/getList") // // 导出 Excel
@Operation(summary = "获得人员管理全量数据") // ExcelUtils.write(response, "人员管理.xls", "数据", PersonnelManagementRespVO.class,
public CommonResult<List<PersonnelManagementRespVO>> getList(@Valid PersonnelManagementPageReqVO pageReqVO) { // BeanUtils.toBean(list, PersonnelManagementRespVO.class));
List<PersonnelManagementDO> pageResult = personnelManagementService.getList(pageReqVO); // }
return success(BeanUtils.toBean(pageResult, PersonnelManagementRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出人员管理 Excel")
@ApiAccessLog(operateType = EXPORT)
public void exportPersonnelManagementExcel(@Valid PersonnelManagementPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PersonnelManagementDO> list = personnelManagementService.getPersonnelManagementPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "人员管理.xls", "数据", PersonnelManagementRespVO.class,
BeanUtils.toBean(list, PersonnelManagementRespVO.class));
}
} }

View File

@@ -17,20 +17,18 @@ import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.v
import cn.iocoder.yudao.module.farm.controller.admin.wx.vo.BaseCountInfoRespVO; import cn.iocoder.yudao.module.farm.controller.admin.wx.vo.BaseCountInfoRespVO;
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO;
import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper; import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.PersonnelManagementMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.specieslibrary.SpeciesLibraryMapper; import cn.iocoder.yudao.module.farm.dal.mysql.specieslibrary.SpeciesLibraryMapper;
import cn.iocoder.yudao.module.farm.enums.CommonConstants; import cn.iocoder.yudao.module.farm.enums.CommonConstants;
import cn.iocoder.yudao.module.farm.service.companyinfo.CompanyInfoService; import cn.iocoder.yudao.module.farm.service.companyinfo.CompanyInfoService;
import cn.iocoder.yudao.module.farm.service.deviceinfo.DeviceInfoService; import cn.iocoder.yudao.module.farm.service.deviceinfo.DeviceInfoService;
import cn.iocoder.yudao.module.farm.service.personnelmanagement.PersonnelManagementService;
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService;
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotLesseeService; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotLesseeService;
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService; import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService;
import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil; import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
@@ -69,10 +67,6 @@ public class BaseInfoServiceImpl implements BaseInfoService {
@Resource @Resource
private SpeciesLibraryService speciesLibraryService; private SpeciesLibraryService speciesLibraryService;
@Resource @Resource
private PersonnelManagementMapper personnelManagementMapper;
@Resource
private PersonnelManagementService personnelManagementService;
@Resource
private ProductionPlanService productionPlanService; private ProductionPlanService productionPlanService;
@Resource @Resource
private PlotInfoService plotInfoService; private PlotInfoService plotInfoService;
@@ -82,6 +76,8 @@ public class BaseInfoServiceImpl implements BaseInfoService {
private DeviceInfoService deviceInfoService; private DeviceInfoService deviceInfoService;
@Resource @Resource
private PlotLesseeService plotLesseeService; private PlotLesseeService plotLesseeService;
@Resource
private AdminUserService adminUserService;
@SneakyThrows @SneakyThrows
@Override @Override
@@ -143,8 +139,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
@Override @Override
public BaseInfoDO getBaseInfo(String id) { public BaseInfoDO getBaseInfo(String id) {
List<PersonnelManagementDO> personnelList = personnelManagementMapper.selectList(); Map<String, String> employeeMap = adminUserService.getIdAndNickNameMap();
Map<String, String> employeeMap = personnelList.stream().collect(Collectors.toMap(PersonnelManagementDO::getId, PersonnelManagementDO::getName, (v1, v2) -> v1));
BaseInfoDO baseInfoDO = baseInfoMapper.selectById(id); BaseInfoDO baseInfoDO = baseInfoMapper.selectById(id);
baseInfoDO.setManagerName(employeeMap.get(baseInfoDO.getManager())); baseInfoDO.setManagerName(employeeMap.get(baseInfoDO.getManager()));
@@ -228,9 +223,8 @@ public class BaseInfoServiceImpl implements BaseInfoService {
public TenantInfoRespVO getBaseOverviewInfo() { public TenantInfoRespVO getBaseOverviewInfo() {
long tenantId = getLoginUser().getTenantId(); long tenantId = getLoginUser().getTenantId();
// 人员管理 // 人员管理
List<PersonnelManagementDO> personnels = personnelManagementMapper.selectList("tenant_id", tenantId); Map<String, String> employeeMap = adminUserService.getIdAndNickNameMap();
int employeeCount = personnels.size(); int employeeCount = employeeMap.size();
Map<String, String> employeeMap = personnels.stream().collect(Collectors.toMap(PersonnelManagementDO::getId, PersonnelManagementDO::getName, (v1, v2) -> v1));
// 租户 // 租户
TenantInfoRespVO.TenantInfo tenantInfo = this.getTenantInfo(tenantId, employeeCount); TenantInfoRespVO.TenantInfo tenantInfo = this.getTenantInfo(tenantId, employeeCount);
@@ -278,7 +272,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
baseInfo.setPlantingPlotCount(productionPlanService.getGrowingPlotCount(baseId)); baseInfo.setPlantingPlotCount(productionPlanService.getGrowingPlotCount(baseId));
baseInfo.setIotDeviceCount(countByBase); baseInfo.setIotDeviceCount(countByBase);
baseInfo.setPlantingTaskCount(productionPlanService.getGrowingPlanCount(baseId)); baseInfo.setPlantingTaskCount(productionPlanService.getGrowingPlanCount(baseId));
baseInfo.setAdministratorName(getAdministratorName(tenantId, bDO.getManager())); baseInfo.setAdministratorName(adminUserService.getNickNameStrLink(bDO.getManager()));
return CommonResult.success(new FarmBaseOverviewRespVO(tenantInfo, baseInfo)); return CommonResult.success(new FarmBaseOverviewRespVO(tenantInfo, baseInfo));
} }
@@ -418,13 +412,6 @@ public class BaseInfoServiceImpl implements BaseInfoService {
} }
} }
private String getAdministratorName(String tenantId, String manager) {
List<PersonnelManagementDO> personnelList = personnelManagementMapper.selectList("tenant_id", tenantId);
Map<String, String> employeeMap = personnelList.stream().collect(Collectors.toMap(PersonnelManagementDO::getId, PersonnelManagementDO::getName, (v1, v2) -> v1));
return personnelManagementService.getEmployeeNameMap(employeeMap, manager);
}
private TenantInfoRespVO.TenantInfo getTenantInfo(long tenantId, Integer employeeCount) { private TenantInfoRespVO.TenantInfo getTenantInfo(long tenantId, Integer employeeCount) {
// 基地总数 // 基地总数
Integer baseCount = baseInfoMapper.getBaseCount(tenantId); Integer baseCount = baseInfoMapper.getBaseCount(tenantId);

View File

@@ -21,14 +21,12 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO; import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO; import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO;
import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper; import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.farmingrecord.FarmingRecordMapper; import cn.iocoder.yudao.module.farm.dal.mysql.farmingrecord.FarmingRecordMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.inputlibrary.InputUsageRecordsMapper; import cn.iocoder.yudao.module.farm.dal.mysql.inputlibrary.InputUsageRecordsMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.PersonnelManagementMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.plotinfo.PlotInfoMapper; import cn.iocoder.yudao.module.farm.dal.mysql.plotinfo.PlotInfoMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.productionplan.ProductionPlanMapper; import cn.iocoder.yudao.module.farm.dal.mysql.productionplan.ProductionPlanMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.productionplan.ProductionPlanUsedGridMapper; import cn.iocoder.yudao.module.farm.dal.mysql.productionplan.ProductionPlanUsedGridMapper;
@@ -48,6 +46,7 @@ import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil;
import cn.iocoder.yudao.module.farm.utils.StrHelperUtil; import cn.iocoder.yudao.module.farm.utils.StrHelperUtil;
import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
import cn.iocoder.yudao.module.system.service.dict.DictDataService; import cn.iocoder.yudao.module.system.service.dict.DictDataService;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
@@ -77,7 +76,6 @@ import static java.util.stream.Collectors.toMap;
public class CropFarmingCenterServiceImpl implements CropFarmingCenterService { public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
private final SpeciesLibraryMapper speciesLibraryMapper; private final SpeciesLibraryMapper speciesLibraryMapper;
private final PersonnelManagementMapper personnelManagementMapper;
private final BaseInfoMapper baseInfoMapper; private final BaseInfoMapper baseInfoMapper;
private final PlotInfoMapper plotInfoMapper; private final PlotInfoMapper plotInfoMapper;
private final ProductionPlanMapper productionPlanMapper; private final ProductionPlanMapper productionPlanMapper;
@@ -95,16 +93,13 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
private final FarmingNameMaintenanceService farmingNameMaintenanceService; private final FarmingNameMaintenanceService farmingNameMaintenanceService;
private final DictDataService dictDataService; private final DictDataService dictDataService;
private final ProductionPlanService productionPlanService; private final ProductionPlanService productionPlanService;
private final AdminUserService adminUserService;
private final GridEventPublisher gridEventPublisher; private final GridEventPublisher gridEventPublisher;
private final FarmRecordEventPublisher farmRecordEventPublisher; private final FarmRecordEventPublisher farmRecordEventPublisher;
public CropFarmingCenterServiceImpl(SpeciesLibraryMapper speciesLibraryMapper, PersonnelManagementMapper personnelManagementMapper, BaseInfoMapper baseInfoMapper, PlotInfoMapper plotInfoMapper, ProductionPlanMapper productionPlanMapper, public CropFarmingCenterServiceImpl(SpeciesLibraryMapper speciesLibraryMapper, BaseInfoMapper baseInfoMapper, PlotInfoMapper plotInfoMapper, ProductionPlanMapper productionPlanMapper, ProductionPlanUsedGridMapper productionPlanUsedGridMapperMapper, FarmingRecordMapper farmingRecordMapper, InputUsageRecordsMapper inputUsageRecordsMapper, ModelManagementService modelManagementService, FarmingRecordService farmingRecordService, FarmingRecordInputService farmingRecordInputService, PlotInfoService plotInfoService, SpeciesLibraryService speciesLibraryService, FarmingTypeMaintenanceService farmingTypeMaintenanceService, FarmingNameMaintenanceService farmingNameMaintenanceService, DictDataService dictDataService, ProductionPlanService productionPlanService, AdminUserService adminUserService, GridEventPublisher gridEventPublisher, FarmRecordEventPublisher farmRecordEventPublisher) {
ProductionPlanUsedGridMapper productionPlanUsedGridMapperMapper, FarmingRecordMapper farmingRecordMapper, InputUsageRecordsMapper inputUsageRecordsMapper, ModelManagementService modelManagementService,
FarmingRecordService farmingRecordService,
FarmingRecordInputService farmingRecordInputService, PlotInfoService plotInfoService, SpeciesLibraryService speciesLibraryService, FarmingTypeMaintenanceService farmingTypeMaintenanceService, FarmingNameMaintenanceService farmingNameMaintenanceService, DictDataService dictDataService, GridEventPublisher gridEventPublisher, ProductionPlanService productionPlanService, FarmRecordEventPublisher farmRecordEventPublisher) {
this.speciesLibraryMapper = speciesLibraryMapper; this.speciesLibraryMapper = speciesLibraryMapper;
this.personnelManagementMapper = personnelManagementMapper;
this.baseInfoMapper = baseInfoMapper; this.baseInfoMapper = baseInfoMapper;
this.plotInfoMapper = plotInfoMapper; this.plotInfoMapper = plotInfoMapper;
this.productionPlanMapper = productionPlanMapper; this.productionPlanMapper = productionPlanMapper;
@@ -119,9 +114,9 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
this.farmingTypeMaintenanceService = farmingTypeMaintenanceService; this.farmingTypeMaintenanceService = farmingTypeMaintenanceService;
this.farmingNameMaintenanceService = farmingNameMaintenanceService; this.farmingNameMaintenanceService = farmingNameMaintenanceService;
this.dictDataService = dictDataService; this.dictDataService = dictDataService;
this.gridEventPublisher = gridEventPublisher;
this.productionPlanService = productionPlanService; this.productionPlanService = productionPlanService;
this.adminUserService = adminUserService;
this.gridEventPublisher = gridEventPublisher;
this.farmRecordEventPublisher = farmRecordEventPublisher; this.farmRecordEventPublisher = farmRecordEventPublisher;
} }
@@ -263,7 +258,7 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
if (productionPlanDO == null) { if (productionPlanDO == null) {
throw exception(PRODUCTION_PLAN_NOT_EXISTS); throw exception(PRODUCTION_PLAN_NOT_EXISTS);
} }
Map<String, String> employeeNameMap = personnelManagementMapper.selectList().stream().collect(toMap(PersonnelManagementDO::getId, PersonnelManagementDO::getName, (v1, v2) -> v1)); Map<String, String> employeeNameMap = adminUserService.getIdAndNickNameMap();
ModelManagementRespVO modelManagementRespVO = modelManagementService.getModelManagement(productionPlanDO.getSpeciesModelId()); ModelManagementRespVO modelManagementRespVO = modelManagementService.getModelManagement(productionPlanDO.getSpeciesModelId());
ProductionPlanRespVO productionPlanRespVO = BeanUtils.toBean(productionPlanDO, ProductionPlanRespVO.class); ProductionPlanRespVO productionPlanRespVO = BeanUtils.toBean(productionPlanDO, ProductionPlanRespVO.class);
@@ -311,20 +306,6 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
e.setPlanOverview(planOverview); e.setPlanOverview(planOverview);
}); });
// 响应结构包装 (包装成符合前端需要的格式)
// List<ProductionPlanPageRespVO> collect = resultData.getList().stream()
// .collect(Collectors.groupingBy(plan -> new AbstractMap.SimpleEntry<>(plan.getBaseId(), plan.getBaseName()), Collectors.toList()))
// .entrySet().stream()
// .map(entry -> {
// ProductionPlanPageRespVO groupedVO = new ProductionPlanPageRespVO();
// groupedVO.setBaseId(entry.getKey().getKey());
// groupedVO.setBaseName(entry.getKey().getValue());
// groupedVO.setPlans(entry.getValue());
// return groupedVO;
// })
// .collect(Collectors.toList());
//
// long size = collect.size();
return resultData; return resultData;
} }
@@ -332,7 +313,7 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
@Override @Override
public PageResult<ProductionPlanResp2VO> getProductionPlanPage2(ProductionPlanPage2ReqVO reqVO) { public PageResult<ProductionPlanResp2VO> getProductionPlanPage2(ProductionPlanPage2ReqVO reqVO) {
Map<String, String> speciesNameMap = speciesLibraryMapper.selectList().stream().collect(toMap(SpeciesLibraryDO::getId, SpeciesLibraryDO::getCultivarName, (v1, v2) -> v1)); Map<String, String> speciesNameMap = speciesLibraryMapper.selectList().stream().collect(toMap(SpeciesLibraryDO::getId, SpeciesLibraryDO::getCultivarName, (v1, v2) -> v1));
Map<String, String> employeeNameMap = personnelManagementMapper.selectList().stream().collect(toMap(PersonnelManagementDO::getId, PersonnelManagementDO::getName, (v1, v2) -> v1)); Map<String, String> employeeNameMap = adminUserService.getIdAndNickNameMap();
reqVO.setTenantId(getLoginUser().getTenantId().toString()); reqVO.setTenantId(getLoginUser().getTenantId().toString());
PageResult<ProductionPlanDO> productionPlanDOPageResult = productionPlanMapper.selectPage2(reqVO); PageResult<ProductionPlanDO> productionPlanDOPageResult = productionPlanMapper.selectPage2(reqVO);

View File

@@ -19,13 +19,13 @@ import cn.iocoder.yudao.module.farm.service.cropFarmingCenter.CropFarmingCenterS
import cn.iocoder.yudao.module.farm.service.deviceinfo.DeviceInfoService; import cn.iocoder.yudao.module.farm.service.deviceinfo.DeviceInfoService;
import cn.iocoder.yudao.module.farm.service.farmingrecord.FarmingRecordService; import cn.iocoder.yudao.module.farm.service.farmingrecord.FarmingRecordService;
import cn.iocoder.yudao.module.farm.service.modelmanagement.ModelManagementService; import cn.iocoder.yudao.module.farm.service.modelmanagement.ModelManagementService;
import cn.iocoder.yudao.module.farm.service.personnelmanagement.PersonnelManagementService;
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService;
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotLesseeService; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotLesseeService;
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService; import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService;
import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil; import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil;
import cn.iocoder.yudao.module.farm.utils.LeafletjsUtil; import cn.iocoder.yudao.module.farm.utils.LeafletjsUtil;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -51,19 +51,19 @@ public class HomeServiceImpl implements HomeService {
private final PlotInfoService plotInfoService; private final PlotInfoService plotInfoService;
private final ProductionPlanService productionPlanService; private final ProductionPlanService productionPlanService;
private final CropFarmingCenterService cropFarmingCenterService; private final CropFarmingCenterService cropFarmingCenterService;
private final PersonnelManagementService personnelManagementService; private final AdminUserService adminUserService;
private final ModelManagementService modelManagementService; private final ModelManagementService modelManagementService;
private final SpeciesLibraryService speciesLibraryService; private final SpeciesLibraryService speciesLibraryService;
private final FarmingRecordService farmingRecordService; private final FarmingRecordService farmingRecordService;
private final DeviceInfoService deviceService; private final DeviceInfoService deviceService;
private final PlotLesseeService plotLesseeService; private final PlotLesseeService plotLesseeService;
public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, CropFarmingCenterService cropFarmingCenterService, PersonnelManagementService personnelManagementService, ModelManagementService modelManagementService, SpeciesLibraryService speciesLibraryService, FarmingRecordService farmingRecordService, DeviceInfoService deviceService, PlotLesseeService plotLesseeService) { public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, CropFarmingCenterService cropFarmingCenterService, AdminUserService adminUserService, ModelManagementService modelManagementService, SpeciesLibraryService speciesLibraryService, FarmingRecordService farmingRecordService, DeviceInfoService deviceService, PlotLesseeService plotLesseeService) {
this.baseInfoService = baseInfoService; this.baseInfoService = baseInfoService;
this.plotInfoService = plotInfoService; this.plotInfoService = plotInfoService;
this.productionPlanService = productionPlanService; this.productionPlanService = productionPlanService;
this.cropFarmingCenterService = cropFarmingCenterService; this.cropFarmingCenterService = cropFarmingCenterService;
this.personnelManagementService = personnelManagementService; this.adminUserService = adminUserService;
this.modelManagementService = modelManagementService; this.modelManagementService = modelManagementService;
this.speciesLibraryService = speciesLibraryService; this.speciesLibraryService = speciesLibraryService;
this.farmingRecordService = farmingRecordService; this.farmingRecordService = farmingRecordService;
@@ -80,7 +80,7 @@ public class HomeServiceImpl implements HomeService {
@Override @Override
public HomeInfo getHomeInfo(String baseId) { public HomeInfo getHomeInfo(String baseId) {
// 员工集合 <id,name> // 员工集合 <id,name>
Map<String, String> employeeNameMap = personnelManagementService.getEmployeeNameMap(); Map<String, String> employeeNameMap = adminUserService.getIdAndNickNameMap();
// 基地概要信息 // 基地概要信息
BaseOverviewInfo baseOverviewInfo = null; BaseOverviewInfo baseOverviewInfo = null;
@@ -106,7 +106,7 @@ public class HomeServiceImpl implements HomeService {
@Override @Override
public HomeInfo getHomeInfoPlus(String baseId) { public HomeInfo getHomeInfoPlus(String baseId) {
// 员工集合 <id,name> // 员工集合 <id,name>
Map<String, String> employeeNameMap = personnelManagementService.getEmployeeNameMap(); // Map<String, String> employeeNameMap = adminUserService.getIdAndNickNameMap();
// 基地集合 // 基地集合
List<HomeInfo.BaseInfo> baseList = new ArrayList<>(); List<HomeInfo.BaseInfo> baseList = new ArrayList<>();
@@ -120,7 +120,7 @@ public class HomeServiceImpl implements HomeService {
@Override @Override
public PlotInfo getPlotInfo(String plotId) { public PlotInfo getPlotInfo(String plotId) {
// 员工集合 <id,name> // 员工集合 <id,name>
Map<String, String> employeeNameMap = personnelManagementService.getEmployeeNameMap(); Map<String, String> employeeNameMap = adminUserService.getIdAndNickNameMap();
PlotInfoDO pObj = plotInfoService.getPlotInfo(plotId); PlotInfoDO pObj = plotInfoService.getPlotInfo(plotId);
BaseInfoDO bOjb = baseInfoService.getBaseInfo(pObj.getBaseId()); BaseInfoDO bOjb = baseInfoService.getBaseInfo(pObj.getBaseId());
@@ -206,7 +206,7 @@ public class HomeServiceImpl implements HomeService {
} }
private BaseOverviewInfo getBaseOverviewInfo(BaseInfoDO baseObj, Map<String, String> employeeNameMap) { private BaseOverviewInfo getBaseOverviewInfo(BaseInfoDO baseObj, Map<String, String> employeeNameMap) {
String employeeName= personnelManagementService.getEmployeeNameMap(employeeNameMap,baseObj.getManager()); String employeeName= adminUserService.getNickNameStrLink(baseObj.getManager());
int growingPlotCount = productionPlanService.getGrowingPlotCount(baseObj.getId()); int growingPlotCount = productionPlanService.getGrowingPlotCount(baseObj.getId());
int growingCropCount = productionPlanService.getGrowingCropCount(baseObj.getId()); int growingCropCount = productionPlanService.getGrowingCropCount(baseObj.getId());
List<PlotInfoDO> plotInfos = plotInfoService.getPlotInfos(baseObj.getId()); List<PlotInfoDO> plotInfos = plotInfoService.getPlotInfos(baseObj.getId());
@@ -231,7 +231,7 @@ public class HomeServiceImpl implements HomeService {
private List<PlotPopupFrame> getPlotPopupFrame(String plotId, Map<String, String> employeeNameMap) { private List<PlotPopupFrame> getPlotPopupFrame(String plotId, Map<String, String> employeeNameMap) {
List<PlotPopupFrame> targetList = new ArrayList<>(); List<PlotPopupFrame> targetList = new ArrayList<>();
PlotInfoDO e = plotInfoService.getPlotInfo(plotId); PlotInfoDO e = plotInfoService.getPlotInfo(plotId);
String employeeName = personnelManagementService.getEmployeeNameMap(employeeNameMap, e.getEmployeeId()); String employeeName = adminUserService.getNickNameStrLink(e.getEmployeeId());
String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), e.getPlotArea()); String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), e.getPlotArea());
String beingCropName = productionPlanService.getBeingCropName(e.getPlotId()); String beingCropName = productionPlanService.getBeingCropName(e.getPlotId());
@@ -270,13 +270,13 @@ public class HomeServiceImpl implements HomeService {
totalArea = (int) Math.round(temp); totalArea = (int) Math.round(temp);
} }
int personnelCount = personnelManagementService.personnelCount(user.getTenantId()); // 在职人员 int personnelCount = adminUserService.countUser();
return new BaseOverviewInfo("",baseCount,cropCount,totalArea,personnelCount); return new BaseOverviewInfo("",baseCount,cropCount,totalArea,personnelCount);
} }
private PlotInfo getPlotInfo(PlotInfoDO e, BaseInfoDO baseObj, Map<String, String> employeeNameMap) { private PlotInfo getPlotInfo(PlotInfoDO e, BaseInfoDO baseObj, Map<String, String> employeeNameMap) {
String employeeName = personnelManagementService.getEmployeeNameMap(employeeNameMap, e.getEmployeeId()); String employeeName = adminUserService.getNickNameStrLink(e.getEmployeeId());
// 地块详情 (包含计划信息) // 地块详情 (包含计划信息)
PlotOrCropInfo plotOrCropInfo = this.getPlotOrCropInfoList(e,"地块详情",employeeName); PlotOrCropInfo plotOrCropInfo = this.getPlotOrCropInfoList(e,"地块详情",employeeName);
// 地块浮框信息 // 地块浮框信息

View File

@@ -9,14 +9,10 @@ import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.personnelm
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.personnelmanagement.vo.PersonnelManagementSaveReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.personnelmanagement.vo.PersonnelManagementSaveReqVO;
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO; import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.SystemUserDO; import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.SystemUserDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.SystemUserRoleDO;
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.PersonnelManagementMapper; import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.PersonnelManagementMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.SystemUserMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.SystemUserRoleMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -40,12 +36,12 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic
@Resource @Resource
private PersonnelManagementMapper personnelManagementMapper; private PersonnelManagementMapper personnelManagementMapper;
@Resource // @Resource
private SystemUserMapper userMapper; // private SystemUserMapper userMapper;
@Resource // @Resource
private PasswordEncoder passwordEncoder; // private PasswordEncoder passwordEncoder;
@Resource // @Resource
private SystemUserRoleMapper systemUserRoleMapper; // private SystemUserRoleMapper systemUserRoleMapper;
@Override @Override
public String createPersonnelManagement(PersonnelManagementSaveReqVO createReqVO) { public String createPersonnelManagement(PersonnelManagementSaveReqVO createReqVO) {
@@ -55,10 +51,10 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic
PersonnelManagementDO personnelManagement = BeanUtils.toBean(createReqVO, PersonnelManagementDO.class); PersonnelManagementDO personnelManagement = BeanUtils.toBean(createReqVO, PersonnelManagementDO.class);
personnelManagement.setId(IdUtil.fastUUID()); personnelManagement.setId(IdUtil.fastUUID());
personnelManagement.setTenantId(String.valueOf(user.getTenantId())); personnelManagement.setTenantId(String.valueOf(user.getTenantId()));
SystemUserDO userDO = userMapper.selectByPhone(personnelManagement.getPhone()); // SystemUserDO userDO = userMapper.selectByPhone(personnelManagement.getPhone());
if (userDO != null) { // if (userDO != null) {
return ""; // return "";
} // }
// 处理图片集合转换 // 处理图片集合转换
handleImageConversion(personnelManagement, createReqVO); handleImageConversion(personnelManagement, createReqVO);
@@ -69,16 +65,16 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic
adminUserDO.setAvatar(personnelManagement.getPicture()); adminUserDO.setAvatar(personnelManagement.getPicture());
adminUserDO.setTenantId(user.getTenantId()); adminUserDO.setTenantId(user.getTenantId());
adminUserDO.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启 adminUserDO.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
String substring = personnelManagement.getPhone().substring(personnelManagement.getPhone().length() - 6); // String substring = personnelManagement.getPhone().substring(personnelManagement.getPhone().length() - 6);
adminUserDO.setPassword(encodePassword(substring)); // 加密密码 // adminUserDO.setPassword(encodePassword(substring)); // 加密密码
userMapper.insert(adminUserDO);// 系统用户同步新增 // userMapper.insert(adminUserDO);// 系统用户同步新增
// 用户角色关联 // 用户角色关联
for (String s : personnelManagement.getRole().split(",")) { // for (String s : personnelManagement.getRole().split(",")) {
SystemUserRoleDO userRoleDO = new SystemUserRoleDO(); // SystemUserRoleDO userRoleDO = new SystemUserRoleDO();
userRoleDO.setUserId(adminUserDO.getId()); // userRoleDO.setUserId(adminUserDO.getId());
userRoleDO.setRoleId(Long.valueOf(s)); // userRoleDO.setRoleId(Long.valueOf(s));
systemUserRoleMapper.insert(userRoleDO); // systemUserRoleMapper.insert(userRoleDO);
} // }
personnelManagementMapper.insert(personnelManagement); personnelManagementMapper.insert(personnelManagement);
// 返回 // 返回
return personnelManagement.getId(); return personnelManagement.getId();
@@ -93,20 +89,20 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic
// 更新 // 更新
PersonnelManagementDO updateObj = BeanUtils.toBean(updateReqVO, PersonnelManagementDO.class); PersonnelManagementDO updateObj = BeanUtils.toBean(updateReqVO, PersonnelManagementDO.class);
SystemUserDO userDO = userMapper.selectByPhone(managementDO.getPhone()); // SystemUserDO userDO = userMapper.selectByPhone(managementDO.getPhone());
if (updateReqVO.getPhone() != null) userDO.setUsername(updateReqVO.getPhone()); // if (updateReqVO.getPhone() != null) userDO.setUsername(updateReqVO.getPhone());
if (updateReqVO.getPhone() != null) userDO.setMobile(updateReqVO.getPhone()); // if (updateReqVO.getPhone() != null) userDO.setMobile(updateReqVO.getPhone());
if (updateReqVO.getName() != null) userDO.setNickname(updateReqVO.getName()); // if (updateReqVO.getName() != null) userDO.setNickname(updateReqVO.getName());
if (updateReqVO.getPicture() != null) userDO.setAvatar(updateReqVO.getPicture()); // if (updateReqVO.getPicture() != null) userDO.setAvatar(updateReqVO.getPicture());
// 处理图片集合转换 // 处理图片集合转换
handleImageConversion(updateObj, updateReqVO); handleImageConversion(updateObj, updateReqVO);
for (String s : managementDO.getRole().split(",")) { // for (String s : managementDO.getRole().split(",")) {
SystemUserRoleDO userRoleDO = new SystemUserRoleDO(); // SystemUserRoleDO userRoleDO = new SystemUserRoleDO();
userRoleDO.setUserId(userDO.getId()); // userRoleDO.setUserId(userDO.getId());
userRoleDO.setRoleId(Long.valueOf(s)); // userRoleDO.setRoleId(Long.valueOf(s));
systemUserRoleMapper.insert(userRoleDO); // systemUserRoleMapper.insert(userRoleDO);
} // }
userMapper.updateById(userDO); // userMapper.updateById(userDO);
personnelManagementMapper.updateById(updateObj); personnelManagementMapper.updateById(updateObj);
} }
@@ -115,9 +111,9 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic
// 校验存在 // 校验存在
validatePersonnelManagementExists(id); validatePersonnelManagementExists(id);
PersonnelManagementDO managementDO = personnelManagementMapper.selectById(id); PersonnelManagementDO managementDO = personnelManagementMapper.selectById(id);
SystemUserDO userDO = userMapper.selectByPhone(managementDO.getPhone()); // SystemUserDO userDO = userMapper.selectByPhone(managementDO.getPhone());
userMapper.deleteById(userDO.getId()); // userMapper.deleteById(userDO.getId());
systemUserRoleMapper.delete(SystemUserRoleDO::getUserId, userDO.getId()); // systemUserRoleMapper.delete(SystemUserRoleDO::getUserId, userDO.getId());
// 删除 // 删除
personnelManagementMapper.deleteById(id); personnelManagementMapper.deleteById(id);
} }
@@ -167,10 +163,10 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic
@Override @Override
public void reset(PersonnelManagementSaveReqVO updateReqVO) { public void reset(PersonnelManagementSaveReqVO updateReqVO) {
PersonnelManagementDO managementDO = personnelManagementMapper.selectById(updateReqVO.getId()); PersonnelManagementDO managementDO = personnelManagementMapper.selectById(updateReqVO.getId());
SystemUserDO userDO = userMapper.selectByPhone(managementDO.getPhone()); // SystemUserDO userDO = userMapper.selectByPhone(managementDO.getPhone());
String substring = userDO.getMobile().substring(userDO.getMobile().length() - 6); // String substring = userDO.getMobile().substring(userDO.getMobile().length() - 6);
userDO.setPassword(encodePassword(substring)); // 加密密码 // userDO.setPassword(encodePassword(substring)); // 加密密码
userMapper.updateById(userDO); // userMapper.updateById(userDO);
} }
@Override @Override
@@ -196,15 +192,15 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic
} }
} }
/** // /**
* 对密码进行加密 // * 对密码进行加密
* // *
* @param password 密码 // * @param password 密码
* @return 加密后的密码 // * @return 加密后的密码
*/ // */
private String encodePassword(String password) { // private String encodePassword(String password) {
return passwordEncoder.encode(password); // return passwordEncoder.encode(password);
} // }
@Override @Override
public Map<String, String> getEmployeeNameMap() { public Map<String, String> getEmployeeNameMap() {

View File

@@ -13,9 +13,9 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO;
import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper; import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.plotinfo.PlotInfoMapper; import cn.iocoder.yudao.module.farm.dal.mysql.plotinfo.PlotInfoMapper;
import cn.iocoder.yudao.module.farm.enums.CommonConstants; import cn.iocoder.yudao.module.farm.enums.CommonConstants;
import cn.iocoder.yudao.module.farm.service.personnelmanagement.PersonnelManagementService;
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil; import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -44,18 +44,19 @@ public class PlotInfoServiceImpl implements PlotInfoService {
private final BaseInfoMapper baseInfoMapper; private final BaseInfoMapper baseInfoMapper;
private final PlotInfoMapper plotInfoMapper; private final PlotInfoMapper plotInfoMapper;
private final AdminUserService adminUserService;
private final PlotInfoCacheService pCatchService;
private final PlotLesseeService plotLesseeService; private final PlotLesseeService plotLesseeService;
private final ProductionPlanService productionPlanService; private final ProductionPlanService productionPlanService;
private final PersonnelManagementService personnelManagementService;
private final PlotInfoCacheService pCatchService;
public PlotInfoServiceImpl(BaseInfoMapper baseInfoMapper, PlotInfoMapper plotInfoMapper, PlotLesseeService plotLesseeService, ProductionPlanService productionPlanService, PersonnelManagementService personnelManagementService, PlotInfoCacheService pCatchService) { public PlotInfoServiceImpl(BaseInfoMapper baseInfoMapper, PlotInfoMapper plotInfoMapper, AdminUserService adminUserService, PlotInfoCacheService pCatchService, PlotLesseeService plotLesseeService, ProductionPlanService productionPlanService) {
this.baseInfoMapper = baseInfoMapper; this.baseInfoMapper = baseInfoMapper;
this.plotInfoMapper = plotInfoMapper; this.plotInfoMapper = plotInfoMapper;
this.adminUserService = adminUserService;
this.pCatchService = pCatchService;
this.plotLesseeService = plotLesseeService; this.plotLesseeService = plotLesseeService;
this.productionPlanService = productionPlanService; this.productionPlanService = productionPlanService;
this.personnelManagementService = personnelManagementService;
this.pCatchService = pCatchService;
} }
@Transactional @Transactional
@@ -151,7 +152,7 @@ public class PlotInfoServiceImpl implements PlotInfoService {
List<PlotInfoDO> list = this.getPlotInfosByCatch(baseId); List<PlotInfoDO> list = this.getPlotInfosByCatch(baseId);
// 员工集合 <id,name> // 员工集合 <id,name>
Map<String, String> employeeNameMap = personnelManagementService.getEmployeeNameMap(); Map<String, String> employeeNameMap = adminUserService.getIdAndNickNameMap();
list.forEach(e -> { list.forEach(e -> {
e.setEmployeeName(employeeNameMap.get(e.getEmployeeId())); e.setEmployeeName(employeeNameMap.get(e.getEmployeeId()));
e.setManager(employeeNameMap.get(e.getEmployeeId())); e.setManager(employeeNameMap.get(e.getEmployeeId()));
@@ -166,7 +167,7 @@ public class PlotInfoServiceImpl implements PlotInfoService {
List<PlotInfoDO> list = this.getPlotInfosByCatch(baseId); List<PlotInfoDO> list = this.getPlotInfosByCatch(baseId);
// 员工集合 <id,name> // 员工集合 <id,name>
Map<String, String> employeeNameMap = personnelManagementService.getEmployeeNameMap(); Map<String, String> employeeNameMap = adminUserService.getIdAndNickNameMap();
list.forEach(e -> { list.forEach(e -> {
e.setEmployeeName(employeeNameMap.get(e.getEmployeeId())); e.setEmployeeName(employeeNameMap.get(e.getEmployeeId()));
e.setManager(employeeNameMap.get(e.getEmployeeId())); e.setManager(employeeNameMap.get(e.getEmployeeId()));

View File

@@ -348,7 +348,9 @@ public class ProductionPlanServiceImpl implements ProductionPlanService {
.mapToDouble(ProductionPlanDO::getPredictedArea) .mapToDouble(ProductionPlanDO::getPredictedArea)
.sum(); .sum();
if (ObjectUtils.isEmpty(totalArea)) {
if (ObjectUtils.isEmpty(totalArea) || ObjectUtils.isEmpty(plotArea)) {
return "0 亩"; return "0 亩";
} else { } else {
return (int) Math.round(totalArea) + "/" +plotArea.intValue()+ "亩"; return (int) Math.round(totalArea) + "/" +plotArea.intValue()+ "亩";

View File

@@ -30,6 +30,7 @@ import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -122,6 +123,15 @@ public class UserController {
return success(UserConvert.INSTANCE.convertSimpleList(list, deptMap)); return success(UserConvert.INSTANCE.convertSimpleList(list, deptMap));
} }
@GetMapping({"/list-all-simple-by-role"})
@Operation(summary = "通过角色标识获取用户精简信息列表", description = "通过角色标识区分用户,主要用于前端的下拉选项")
@Parameter(name = "roleCode", description = "角色标识", required = true)
public CommonResult<List<UserSimpleByRoleRespVO>> getSimpleUserListByRole(@RequestParam("roleCode") String roleCode) {
List<AdminUserDO> list = userService.getSimpleUserListByRoleCode(roleCode);
List<UserSimpleByRoleRespVO> res = list.stream().map(e -> new UserSimpleByRoleRespVO(e.getId(), e.getNickname())).collect(Collectors.toList());
return success(res);
}
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得用户详情") @Operation(summary = "获得用户详情")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@@ -185,4 +195,6 @@ public class UserController {
return success(userService.fixUserTenantId(userId)); return success(userService.fixUserTenantId(userId));
} }
} }

View File

@@ -0,0 +1,22 @@
package cn.iocoder.yudao.module.system.controller.admin.user.vo.user;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description: TODO
* @author: binda
* @date: 2025/11/20 15:37
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserSimpleByRoleRespVO {
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long id;
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
private String nickname;
}

View File

@@ -58,4 +58,6 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
@InterceptorIgnore(tenantLine = "true") @InterceptorIgnore(tenantLine = "true")
@Select("SELECT * FROM system_users WHERE deleted = 0 AND mobile = #{mobile} AND tenant_id = #{tenantId}") @Select("SELECT * FROM system_users WHERE deleted = 0 AND mobile = #{mobile} AND tenant_id = #{tenantId}")
AdminUserDO selectListByMobileAndTenantId(@Param("mobile") String mobile,@Param("tenantId") String tenantId); AdminUserDO selectListByMobileAndTenantId(@Param("mobile") String mobile,@Param("tenantId") String tenantId);
} }

View File

@@ -64,6 +64,13 @@ public interface RoleService {
*/ */
RoleDO getRole(Long id); RoleDO getRole(Long id);
/**
* 通过角色标识获取角色
* @param code
* @return
*/
List<RoleDO> getRoleByCode(String code);
/** /**
* 获得角色,从缓存中 * 获得角色,从缓存中
* *

View File

@@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
@@ -189,6 +190,14 @@ public class RoleServiceImpl implements RoleService {
return roleMapper.selectById(id); return roleMapper.selectById(id);
} }
@Override
public List<RoleDO> getRoleByCode(String code) {
LambdaQueryWrapperX<RoleDO> x = new LambdaQueryWrapperX<>();
x.eqIfPresent(RoleDO::getCode, code);
x.ne(RoleDO::getType, 1);
return roleMapper.selectList(x);
}
@Override @Override
@Cacheable(value = RedisKeyConstants.ROLE, key = "#id", @Cacheable(value = RedisKeyConstants.ROLE, key = "#id",
unless = "#result == null") unless = "#result == null")

View File

@@ -238,4 +238,12 @@ public interface AdminUserService {
* @return * @return
*/ */
List<TenantRespVO> loginForTenantList(LoginForTenantReqVO reqVO); List<TenantRespVO> loginForTenantList(LoginForTenantReqVO reqVO);
Map<String, String> getIdAndNickNameMap();
String getNickNameStrLink(String managerIds);
int countUser();
List<AdminUserDO> getSimpleUserListByRoleCode(String roleCode);
} }

View File

@@ -26,15 +26,15 @@ import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqV
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dept.UserPostDO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.UserPostDO;
import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.PersonnelDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.PersonnelDO;
import cn.iocoder.yudao.module.system.dal.mysql.dept.UserPostMapper; import cn.iocoder.yudao.module.system.dal.mysql.dept.UserPostMapper;
import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper; import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
import cn.iocoder.yudao.module.system.dal.mysql.user.PersonnelMapper;
import cn.iocoder.yudao.module.system.service.dept.DeptService; import cn.iocoder.yudao.module.system.service.dept.DeptService;
import cn.iocoder.yudao.module.system.service.dept.PostService; import cn.iocoder.yudao.module.system.service.dept.PostService;
import cn.iocoder.yudao.module.system.service.permission.PermissionService; import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import cn.iocoder.yudao.module.system.service.permission.RoleService;
import cn.iocoder.yudao.module.system.service.tenant.TenantService; import cn.iocoder.yudao.module.system.service.tenant.TenantService;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.mzt.logapi.context.LogRecordContext; import com.mzt.logapi.context.LogRecordContext;
@@ -50,11 +50,13 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*; import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*;
import static java.util.stream.Collectors.toMap;
/** /**
* 后台用户 Service 实现类 * 后台用户 Service 实现类
@@ -71,7 +73,8 @@ public class AdminUserServiceImpl implements AdminUserService {
@Resource @Resource
private AdminUserMapper userMapper; private AdminUserMapper userMapper;
@Resource
private RoleService roleService;
@Resource @Resource
private DeptService deptService; private DeptService deptService;
@Resource @Resource
@@ -90,9 +93,6 @@ public class AdminUserServiceImpl implements AdminUserService {
@Resource @Resource
private ConfigApi configApi; private ConfigApi configApi;
@Resource
private PersonnelMapper personnelMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}", @LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}",
@@ -142,7 +142,7 @@ public class AdminUserServiceImpl implements AdminUserService {
} }
userDo.setRole(roles); userDo.setRole(roles);
userDo.setId(IdUtil.fastUUID()); userDo.setId(IdUtil.fastUUID());
personnelMapper.insert(userDo); // personnelMapper.insert(userDo);
return user.getId(); return user.getId();
} }
@@ -190,27 +190,27 @@ public class AdminUserServiceImpl implements AdminUserService {
// 2.1 更新用户 // 2.1 更新用户
AdminUserDO updateObj = BeanUtils.toBean(updateReqVO, AdminUserDO.class); AdminUserDO updateObj = BeanUtils.toBean(updateReqVO, AdminUserDO.class);
userMapper.updateById(updateObj); userMapper.updateById(updateObj);
AdminUserDO adminUserDO = userMapper.selectById(updateObj.getId()); // AdminUserDO adminUserDO = userMapper.selectById(updateObj.getId());
PersonnelDO userDo = personnelMapper.selectByPhone(adminUserDO.getMobile()); // PersonnelDO userDo = personnelMapper.selectByPhone(adminUserDO.getMobile());
if (updateObj.getNickname() != null) userDo.setName(updateObj.getNickname()); // if (updateObj.getNickname() != null) userDo.setName(updateObj.getNickname());
if (updateObj.getMobile() != null) userDo.setPhone(updateObj.getMobile()); // if (updateObj.getMobile() != null) userDo.setPhone(updateObj.getMobile());
if (updateObj.getDeptId() != null) userDo.setDepartment(updateObj.getDeptId().toString()); // if (updateObj.getDeptId() != null) userDo.setDepartment(updateObj.getDeptId().toString());
if (updateObj.getTenantId() != null) userDo.setTenantId(updateObj.getTenantId().toString()); // if (updateObj.getTenantId() != null) userDo.setTenantId(updateObj.getTenantId().toString());
if (updateObj.getAvatar() != null) userDo.setPicture(updateObj.getAvatar()); // if (updateObj.getAvatar() != null) userDo.setPicture(updateObj.getAvatar());
userDo.setAccountStatus(0); // userDo.setAccountStatus(0);
List<UserPostDO> userPostDOS = convertList(updateObj.getPostIds(), // List<UserPostDO> userPostDOS = convertList(updateObj.getPostIds(),
postId -> new UserPostDO().setUserId(updateObj.getId()).setPostId(postId)); // postId -> new UserPostDO().setUserId(updateObj.getId()).setPostId(postId));
String roles = ""; // String roles = "";
for (UserPostDO up : userPostDOS) { // for (UserPostDO up : userPostDOS) {
if (roles.length() > 0) { // if (roles.length() > 0) {
roles += "," + up.getPostId(); // roles += "," + up.getPostId();
} else { // } else {
roles = up.getPostId().toString(); // roles = up.getPostId().toString();
} // }
} // }
userDo.setRole(roles); // userDo.setRole(roles);
personnelMapper.updateById(userDo); // personnelMapper.updateById(userDo);
//
// 2.2 更新岗位 // 2.2 更新岗位
updateUserPost(updateReqVO, updateObj); updateUserPost(updateReqVO, updateObj);
@@ -298,7 +298,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 1. 校验用户存在 // 1. 校验用户存在
AdminUserDO user = validateUserExists(id); AdminUserDO user = validateUserExists(id);
AdminUserDO adminUserDO = userMapper.selectById(id); AdminUserDO adminUserDO = userMapper.selectById(id);
personnelMapper.delete(PersonnelDO::getPhone, adminUserDO.getMobile()); // personnelMapper.delete(PersonnelDO::getPhone, adminUserDO.getMobile());
// 2.1 删除用户 // 2.1 删除用户
userMapper.deleteById(id); userMapper.deleteById(id);
// 2.2 删除用户关联数据 // 2.2 删除用户关联数据
@@ -656,4 +656,47 @@ public class AdminUserServiceImpl implements AdminUserService {
return tenantService.loginForTenantList(reqVO); return tenantService.loginForTenantList(reqVO);
} }
@Override
public Map<String, String> getIdAndNickNameMap() {
Map<String, String> nicknameMap = userMapper.selectList().stream()
.collect(toMap(user -> String.valueOf(user.getId()), AdminUserDO::getNickname, (v1, v2) -> v1));
return nicknameMap;
}
@Override
public String getNickNameStrLink(String managerIds) {
List<AdminUserDO> userDOS = userMapper.selectByIds(Arrays.asList(managerIds.split(",")));
String nicknames = userDOS.stream()
.map(AdminUserDO::getNickname)
.collect(Collectors.joining(","));
return nicknames;
}
@Override
public int countUser() {
return userMapper.selectCount().intValue();
}
@Override
public List<AdminUserDO> getSimpleUserListByRoleCode(String roleCode) {
List<RoleDO> roles = roleService.getRoleByCode(roleCode);
if (null == roles || roles.size() == 0) {
return Collections.EMPTY_LIST;
}
List<Long> roleIds = roles.stream()
.map(RoleDO::getId)
.collect(Collectors.toList());
Set<Long> userIds = permissionService.getUserRoleIdListByRoleId(roleIds);
List<AdminUserDO> userList = userMapper.selectByIds(userIds);
return userList;
}
} }