diff --git a/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/SpinnerWriteHandler.java b/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/SpinnerWriteHandler.java index b81c567d..a4bbb9b8 100644 --- a/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/SpinnerWriteHandler.java +++ b/yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/util/SpinnerWriteHandler.java @@ -42,7 +42,9 @@ public class SpinnerWriteHandler implements SheetWriteHandler { Map mapDropDown = new HashMap<>(); // 这里的key值 对应导出列的顺序 从0开始 - mapDropDown.put(col, deptName.toArray(new String[0])); + if (deptName != null) { + mapDropDown.put(col, deptName.toArray(new String[0])); + } mapDropDown.put(col1, postName.toArray(new String[0])); Sheet sheet = writeSheetHolder.getSheet(); /// 开始设置下拉框 diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java index e1820945..310b8262 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java @@ -303,26 +303,16 @@ public class BpmTaskServiceImpl implements BpmTaskService { // 获得 TaskExtDO Map List bpmTaskExtDOs = taskExtMapper.selectListByTaskIds(convertSet(tasks, HistoricTaskInstance::getId)); -// List bpmTaskExtDOsTemp = taskExtMapper.selectListByTaskIds(convertSet(tasks, HistoricTaskInstance::getId)); - /** 剔除自动审批的Task记录 add by yj at 2024.1.23 Begin*/ -// List bpmTaskExtDOs = new ArrayList<>() ; -// List tasksAfter = new ArrayList<>() ; -// for (BpmTaskExtDO bpmTaskExtDO : bpmTaskExtDOsTemp) { -// String reason = bpmTaskExtDO.getReason() ; -// if(!BpmConstants.AUTO_APPRAVAL.equals(reason)) { -// bpmTaskExtDOs.add(bpmTaskExtDO) ; -// String taskId = bpmTaskExtDO.getTaskId() ; -// for (HistoricTaskInstance historicTaskInstance : tasks) { -// String id= historicTaskInstance.getId() ; -// if(taskId.equals( id )) { -// tasksAfter.add(historicTaskInstance) ; -// break ; -// } -// } -// } -// } -// tasks = tasksAfter ; - /** 剔除自动审批的Task记录 add by yj at 2024.1.23 End*/ + + /* 剔除自动审批的Task记录 Begin */ + bpmTaskExtDOs = bpmTaskExtDOs.stream() + .filter(bpmTaskExtDO -> !BpmConstants.AUTO_APPRAVAL.equals(bpmTaskExtDO.getReason()) || BpmConstants.SELF_TASK_NAME.equals(bpmTaskExtDO.getName())) + .collect(Collectors.toList()); + + List taskIds = convertList(bpmTaskExtDOs, BpmTaskExtDO::getTaskId); + tasks = tasks.stream().filter(task -> taskIds.contains(task.getId())).collect(Collectors.toList()); + /* 剔除自动审批的Task记录 End */ + Map bpmTaskExtDOMap = convertMap(bpmTaskExtDOs, BpmTaskExtDO::getTaskId); // 获得 ProcessInstance Map HistoricProcessInstance processInstance = processInstanceService.getHistoricProcessInstance(processInstanceId); diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java index eeef6f3b..376cdaf8 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java @@ -249,4 +249,7 @@ public interface ErrorCodeConstants { ErrorCode REQUEST_FAILURE = new ErrorCode(1_011_002_003, "请求失败!"); ErrorCode DEVICE_NO_EXISTS = new ErrorCode(1_011_002_004, "设备号已存在!"); + + // ========== 劳动合同相关 1-012-001-001 ========== + ErrorCode LABOR_CONTRACT_NOT_EXISTS = new ErrorCode(1_012_001_001, "劳动合同管理不存在"); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/LaborContractController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/LaborContractController.java new file mode 100644 index 00000000..2ba764af --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/LaborContractController.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.system.controller.admin.laborcontract; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; +import cn.iocoder.yudao.module.system.service.laborcontract.LaborContractService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 劳动合同管理") +@RestController +@RequestMapping("/system/labor-contract") +@Validated +public class LaborContractController { + + @Resource + private LaborContractService laborContractService; + + @PostMapping("/create") + @Operation(summary = "创建劳动合同管理") + @PreAuthorize("@ss.hasPermission('system:labor-contract:create')") + public CommonResult createLaborContract(@Valid @RequestBody LaborContractSaveReqVO createReqVO) { + return success(laborContractService.createLaborContract(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新劳动合同管理") + @PreAuthorize("@ss.hasPermission('system:labor-contract:update')") + public CommonResult updateLaborContract(@Valid @RequestBody LaborContractSaveReqVO updateReqVO) { + laborContractService.updateLaborContract(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除劳动合同管理") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system:labor-contract:delete')") + public CommonResult deleteLaborContract(@RequestParam("id") Long id) { + laborContractService.deleteLaborContract(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得劳动合同管理") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:labor-contract:query')") + public CommonResult getLaborContract(@RequestParam("id") Long id) { + LaborContractDO laborContract = laborContractService.getLaborContract(id); + return success(BeanUtils.toBean(laborContract, LaborContractRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得劳动合同管理分页") + @PreAuthorize("@ss.hasPermission('system:labor-contract:query')") + public CommonResult> getLaborContractPage(@Valid LaborContractPageReqVO pageReqVO) { + PageResult pageResult = laborContractService.getLaborContractPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, LaborContractRespVO.class)); + } +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractPageReqVO.java new file mode 100644 index 00000000..a9be2932 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractPageReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 劳动合同管理分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class LaborContractPageReqVO extends PageParam { + + @Schema(description = "用户名称", example = "146") + private String userName; + + @Schema(description = "部门id", example = "128") + private Long deptId; + + @Schema(description = "签约日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] signingDate; + + @Schema(description = "到期日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] expirationDate; + + @Schema(description = "状态 0待签 1已签 2过期", example = "0") + private Integer status; +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractRespVO.java new file mode 100644 index 00000000..3429fe9b --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractRespVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo; + +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 劳动合同管理 Response VO") +@Data +public class LaborContractRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "128") + private Long userId; + + @Schema(description = "用户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "146") + private String userName; + + @Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "128") + private Long deptId; + + @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "128") + private String deptName; + + @Schema(description = "签约日期") + private LocalDate signingDate; + + @Schema(description = "到期日期") + private LocalDate expirationDate; + + @Schema(description = "签约年限") + private Integer contractDuration; + + @Schema(description = "签约次数") + private Integer signingCount; + + @Schema(description = "状态 0待签 1已签 2过期", example = "0") + private Integer status; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractSaveReqVO.java new file mode 100644 index 00000000..96ecbd83 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/LaborContractSaveReqVO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo; + +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.time.LocalDate; +import java.util.List; + +@Schema(description = "管理后台 - 劳动合同管理新增/修改 Request VO") +@Data +public class LaborContractSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "146") + @NotNull(message = "用户id不能为空") + private Long userId; + + @Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "128") + @NotNull(message = "部门id不能为空") + private Long deptId; + + @Schema(description = "签约日期") + private LocalDate signingDate; + + @Schema(description = "签约年限") + private Integer contractDuration; + + @Schema(description = "状态 0待签 1已签 2过期", example = "0") + private Integer status; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java index ee5e2824..6cfdf08f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java @@ -111,6 +111,24 @@ public class UserController { pageResult.getTotal())); } + @GetMapping("/page-permission") + @Operation(summary = "获得用户分页列表 | 无数据权限接口") + @PreAuthorize("@ss.hasPermission('system:user:list')") + @DataPermission(enable = false) + public CommonResult> getUserPageNoPermission(@Valid UserPageReqVO pageReqVO) { + // 获得用户分页列表 + PageResult pageResult = userService.getUserPage(pageReqVO); + if (CollUtil.isEmpty(pageResult.getList())) { + return success(new PageResult<>(pageResult.getTotal())); + } + // 拼接数据 + Map deptMap = deptService.getDeptMap(convertList(pageResult.getList(), AdminUserDO::getDeptId)); + Map postMap = postService.getDeptMap(convertList(pageResult.getList(), AdminUserDO::getPostIds)); + + return success(new PageResult<>(UserConvert.INSTANCE.convertList(pageResult.getList(), deptMap, postMap), + pageResult.getTotal())); + } + @GetMapping({"/list-all-simple", "/simple-list"}) @Operation(summary = "获取用户精简信息列表", description = "只包含被开启的用户,主要用于前端的下拉选项") public CommonResult> getSimpleUserList() { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/laborcontract/LaborContractDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/laborcontract/LaborContractDO.java new file mode 100644 index 00000000..d592ca65 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/laborcontract/LaborContractDO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.laborcontract; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.upload.UploadUserFile; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.time.LocalDate; +import java.util.List; + +/** + * 劳动合同管理 DO + * + * @author 符溶馨 + */ +@TableName("system_labor_contract") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class LaborContractDO extends BaseDO { + + /** + * id + */ + @TableId + private Long id; + /** + * 用户id + */ + private Long userId; + /** + * 部门id + */ + private Long deptId; + /** + * 签约日期 + */ + private LocalDate signingDate; + /** + * 到期日期 + */ + private LocalDate expirationDate; + /** + * 签约年限 + */ + private Integer contractDuration; + /** + * 状态 0待签 1已签 2过期 + */ + private Integer status; + /** + * 附件基本信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/laborcontract/LaborContractMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/laborcontract/LaborContractMapper.java new file mode 100644 index 00000000..50778765 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/laborcontract/LaborContractMapper.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.system.dal.mysql.laborcontract; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO; +import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 劳动合同管理 Mapper + * + * @author 符溶馨 + */ +@Mapper +public interface LaborContractMapper extends BaseMapperX { + + IPage selectPage(@Param("page") IPage mpPage, @Param("reqVO") LaborContractPageReqVO pageReqVO); +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractService.java new file mode 100644 index 00000000..865cc7aa --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.system.service.laborcontract; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; + +import javax.validation.Valid; + +/** + * 劳动合同管理 Service 接口 + * + * @author 符溶馨 + */ +public interface LaborContractService { + + /** + * 创建劳动合同管理 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createLaborContract(@Valid LaborContractSaveReqVO createReqVO); + + /** + * 更新劳动合同管理 + * + * @param updateReqVO 更新信息 + */ + void updateLaborContract(@Valid LaborContractSaveReqVO updateReqVO); + + /** + * 删除劳动合同管理 + * + * @param id 编号 + */ + void deleteLaborContract(Long id); + + /** + * 获得劳动合同管理 + * + * @param id 编号 + * @return 劳动合同管理 + */ + LaborContractDO getLaborContract(Long id); + + /** + * 获得劳动合同管理分页 + * + * @param pageReqVO 分页查询 + * @return 劳动合同管理分页 + */ + PageResult getLaborContractPage(LaborContractPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java new file mode 100644 index 00000000..b69f2c3b --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.system.service.laborcontract; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; +import cn.iocoder.yudao.module.system.dal.mysql.laborcontract.LaborContractMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.LABOR_CONTRACT_NOT_EXISTS; + +/** + * 劳动合同管理 Service 实现类 + * + * @author 符溶馨 + */ +@Service +@Validated +public class LaborContractServiceImpl implements LaborContractService { + + @Resource + private LaborContractMapper laborContractMapper; + + @Override + public Long createLaborContract(LaborContractSaveReqVO createReqVO) { + // 插入 + LaborContractDO laborContract = BeanUtils.toBean(createReqVO, LaborContractDO.class); + laborContractMapper.insert(laborContract); + // 返回 + return laborContract.getId(); + } + + @Override + public void updateLaborContract(LaborContractSaveReqVO updateReqVO) { + // 校验存在 + validateLaborContractExists(updateReqVO.getId()); + // 更新 + LaborContractDO updateObj = BeanUtils.toBean(updateReqVO, LaborContractDO.class); + laborContractMapper.updateById(updateObj); + } + + @Override + public void deleteLaborContract(Long id) { + // 校验存在 + validateLaborContractExists(id); + // 删除 + laborContractMapper.deleteById(id); + } + + private void validateLaborContractExists(Long id) { + if (laborContractMapper.selectById(id) == null) { + throw exception(LABOR_CONTRACT_NOT_EXISTS); + } + } + + @Override + public LaborContractDO getLaborContract(Long id) { + return laborContractMapper.selectById(id); + } + + @Override + public PageResult getLaborContractPage(LaborContractPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/laborcontract/LaborContractMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/laborcontract/LaborContractMapper.xml new file mode 100644 index 00000000..3facc344 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/laborcontract/LaborContractMapper.xml @@ -0,0 +1,71 @@ + + + + + + + + \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/device/cameradevice/CameraDeviceController.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/device/cameradevice/CameraDeviceController.java index ac36f17f..b62060d6 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/device/cameradevice/CameraDeviceController.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/device/cameradevice/CameraDeviceController.java @@ -118,7 +118,7 @@ public class CameraDeviceController { List factoryInfo = factoryInfoService.getFactoryList(factoryId, name); List factoryIds = convertList(factoryInfo, FactoryInfoDO::getId); // 获取监控设备信息 - List cameraDeviceDOS = cameraDeviceService.getListCameraList(factoryIds); + List cameraDeviceDOS = cameraDeviceService.getListCameraByStatus(factoryIds); Map> cameraMap = cameraDeviceDOS.stream().collect(Collectors.groupingBy(CameraDeviceDO::getFactoryId)); if (!CollUtil.isEmpty(factoryInfo)) { diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/device/cameradevice/CameraDeviceMapper.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/device/cameradevice/CameraDeviceMapper.java index 17c92692..1e3262e7 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/device/cameradevice/CameraDeviceMapper.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/dal/mysql/device/cameradevice/CameraDeviceMapper.java @@ -1,11 +1,14 @@ package cn.iocoder.yudao.module.smartfactory.dal.mysql.device.cameradevice; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.smartfactory.controller.admin.device.cameradevice.vo.CameraDevicePageReqVO; import cn.iocoder.yudao.module.smartfactory.dal.dataobject.device.cameradevice.CameraDeviceDO; import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.smartfactory.controller.admin.device.cameradevice.vo.*; + +import java.util.List; /** * 设备-监控摄像头 Mapper @@ -26,4 +29,9 @@ public interface CameraDeviceMapper extends BaseMapperX { .orderByAsc(CameraDeviceDO::getSort)); } + default List selectListCameraByStatus(List factoryIds) { + return selectList(new LambdaQueryWrapperX() + .inIfPresent(CameraDeviceDO::getFactoryId, factoryIds) + .eq(CameraDeviceDO::getStatus, CommonStatusEnum.ENABLE.getStatus())); + } } \ No newline at end of file diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceService.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceService.java index f722e30e..5787026d 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceService.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceService.java @@ -66,7 +66,7 @@ public interface CameraDeviceService { * @param factoryIds 工厂编号 * @return 监控摄像头列表 */ - List getListCameraList(List factoryIds); + List getListCameraByStatus(List factoryIds); /** * 更新监控设备状态 diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceServiceImpl.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceServiceImpl.java index f822c3ae..e22010f1 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceServiceImpl.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/device/cameradevice/CameraDeviceServiceImpl.java @@ -77,9 +77,9 @@ public class CameraDeviceServiceImpl implements CameraDeviceService { } @Override - public List getListCameraList(List factoryIds) { + public List getListCameraByStatus(List factoryIds) { - return cameraDeviceMapper.selectList(CameraDeviceDO::getFactoryId, factoryIds); + return cameraDeviceMapper.selectListCameraByStatus(factoryIds); } @Override