diff --git a/klp-admin/src/main/resources/application.yml b/klp-admin/src/main/resources/application.yml index 3c1f9bb9..80db18ba 100644 --- a/klp-admin/src/main/resources/application.yml +++ b/klp-admin/src/main/resources/application.yml @@ -347,3 +347,11 @@ sales: camera: media-server-host: http://47.117.71.33:15218 # ZLMediaKit 控制台地址 api-secret: kuQV244gFXu7fBev9UBFkm0IrslUC2A9 # 必须与ZLMediaKit的config.ini一致 + +# 用印盖章 Python 服务占位配置(仅预留,不启用逻辑) +stamp: + python-service: + enabled: false + base-url: http://python-stamp-service.example.com # 替换为实际地址 + api-key: changeme # 替换为实际鉴权信息 + timeout-ms: 5000 # 可按需调整 diff --git a/klp-hrm/pom.xml b/klp-hrm/pom.xml index af3fbff6..c2cd7ae7 100644 --- a/klp-hrm/pom.xml +++ b/klp-hrm/pom.xml @@ -10,6 +10,10 @@ Archetype - klp-hrm http://maven.apache.org + + com.klp + klp-common + org.projectlombok lombok @@ -36,5 +40,15 @@ com.klp klp-system + + com.klp + klp-oss + + + + org.apache.pdfbox + pdfbox + 2.0.29 + diff --git a/klp-hrm/src/main/java/com/klp/hrm/config/StampProperties.java b/klp-hrm/src/main/java/com/klp/hrm/config/StampProperties.java new file mode 100644 index 00000000..a799a35f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/config/StampProperties.java @@ -0,0 +1,40 @@ +package com.klp.hrm.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * Stamp service configuration. + */ +@Data +@Component +@ConfigurationProperties(prefix = "stamp") +public class StampProperties { + + private PythonService pythonService = new PythonService(); + private JavaService javaService = new JavaService(); + + @Data + public static class PythonService { + /** + * Whether to call external python stamp service. + */ + private boolean enabled = false; + private String baseUrl; + private String apiKey; + private Integer timeoutMs = 5000; + } + + @Data + public static class JavaService { + /** + * Enable in-Java stamping. + */ + private boolean enabled = true; + /** + * Default DPI for px → user-space conversion if needed. + */ + private Integer dpi = 72; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmAttendCalcController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmAttendCalcController.java new file mode 100644 index 00000000..387763b7 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmAttendCalcController.java @@ -0,0 +1,64 @@ +package com.klp.hrm.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmAttendCalcBo; +import com.klp.hrm.domain.vo.HrmAttendCalcVo; +import com.klp.hrm.service.IHrmAttendCalcService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 考勤结果(按用户要求本接口不做鉴权) + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/attend") +public class HrmAttendCalcController extends BaseController { + + private final IHrmAttendCalcService service; + + @GetMapping("/list") + public TableDataInfo list(HrmAttendCalcBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @GetMapping("/{calcId}") + public R getInfo(@PathVariable @NotNull Long calcId) { + return R.ok(service.queryById(calcId)); + } + + @Log(title = "考勤结果", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmAttendCalcBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @Log(title = "考勤结果", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmAttendCalcBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @Log(title = "考勤结果", businessType = BusinessType.DELETE) + @DeleteMapping("/{calcIds}") + public R remove(@PathVariable @NotEmpty Long[] calcIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(calcIds), true)); + } + + @GetMapping("/all") + public R> all(HrmAttendCalcBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmCertificateController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmCertificateController.java new file mode 100644 index 00000000..ca4ebd73 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmCertificateController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmCertificateBo; +import com.klp.hrm.domain.vo.HrmCertificateVo; +import com.klp.hrm.service.IHrmCertificateService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/certificate") +public class HrmCertificateController extends BaseController { + + private final IHrmCertificateService service; + + @SaCheckPermission("hrm:certificate:list") + @GetMapping("/list") + public TableDataInfo list(HrmCertificateBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:certificate:query") + @GetMapping("/{certId}") + public R getInfo(@PathVariable @NotNull Long certId) { + return R.ok(service.queryById(certId)); + } + + @SaCheckPermission("hrm:certificate:add") + @Log(title = "证书", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmCertificateBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:certificate:edit") + @Log(title = "证书", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmCertificateBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:certificate:remove") + @Log(title = "证书", businessType = BusinessType.DELETE) + @DeleteMapping("/{certIds}") + public R remove(@PathVariable @NotEmpty Long[] certIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(certIds), true)); + } + + @SaCheckPermission("hrm:certificate:list") + @GetMapping("/all") + public R> all(HrmCertificateBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmContractController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmContractController.java new file mode 100644 index 00000000..685aca04 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmContractController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmContractBo; +import com.klp.hrm.domain.vo.HrmContractVo; +import com.klp.hrm.service.IHrmContractService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/contract") +public class HrmContractController extends BaseController { + + private final IHrmContractService service; + + @SaCheckPermission("hrm:contract:list") + @GetMapping("/list") + public TableDataInfo list(HrmContractBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:contract:query") + @GetMapping("/{contractId}") + public R getInfo(@PathVariable @NotNull Long contractId) { + return R.ok(service.queryById(contractId)); + } + + @SaCheckPermission("hrm:contract:add") + @Log(title = "劳动合同", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmContractBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:contract:edit") + @Log(title = "劳动合同", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmContractBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:contract:remove") + @Log(title = "劳动合同", businessType = BusinessType.DELETE) + @DeleteMapping("/{contractIds}") + public R remove(@PathVariable @NotEmpty Long[] contractIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(contractIds), true)); + } + + @SaCheckPermission("hrm:contract:list") + @GetMapping("/all") + public R> all(HrmContractBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmEmpOrgPositionController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmEmpOrgPositionController.java new file mode 100644 index 00000000..bc0adc1f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmEmpOrgPositionController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmEmpOrgPositionBo; +import com.klp.hrm.domain.vo.HrmEmpOrgPositionVo; +import com.klp.hrm.service.IHrmEmpOrgPositionService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/empOrg") +public class HrmEmpOrgPositionController extends BaseController { + + private final IHrmEmpOrgPositionService service; + + @SaCheckPermission("hrm:emporg:list") + @GetMapping("/list") + public TableDataInfo list(HrmEmpOrgPositionBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:emporg:query") + @GetMapping("/{relId}") + public R getInfo(@PathVariable @NotNull Long relId) { + return R.ok(service.queryById(relId)); + } + + @SaCheckPermission("hrm:emporg:add") + @Log(title = "员工组织岗位关系", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmEmpOrgPositionBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:emporg:edit") + @Log(title = "员工组织岗位关系", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmEmpOrgPositionBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:emporg:remove") + @Log(title = "员工组织岗位关系", businessType = BusinessType.DELETE) + @DeleteMapping("/{relIds}") + public R remove(@PathVariable @NotEmpty Long[] relIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(relIds), true)); + } + + @SaCheckPermission("hrm:emporg:list") + @GetMapping("/all") + public R> all(HrmEmpOrgPositionBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmEmployeeController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmEmployeeController.java new file mode 100644 index 00000000..5c39b5ef --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmEmployeeController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmEmployeeBo; +import com.klp.hrm.domain.vo.HrmEmployeeVo; +import com.klp.hrm.service.IHrmEmployeeService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/employee") +public class HrmEmployeeController extends BaseController { + + private final IHrmEmployeeService service; + + @SaCheckPermission("hrm:employee:list") + @GetMapping("/list") + public TableDataInfo list(HrmEmployeeBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:employee:query") + @GetMapping("/{empId}") + public R getInfo(@PathVariable @NotNull Long empId) { + return R.ok(service.queryById(empId)); + } + + @SaCheckPermission("hrm:employee:add") + @Log(title = "员工管理", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmEmployeeBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:employee:edit") + @Log(title = "员工管理", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmEmployeeBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:employee:remove") + @Log(title = "员工管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{empIds}") + public R remove(@PathVariable @NotEmpty Long[] empIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(empIds), true)); + } + + @SaCheckPermission("hrm:employee:list") + @GetMapping("/all") + public R> all(HrmEmployeeBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowActionController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowActionController.java new file mode 100644 index 00000000..a5d95dd0 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowActionController.java @@ -0,0 +1,39 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFlowActionBo; +import com.klp.hrm.domain.vo.HrmFlowActionVo; +import com.klp.hrm.service.IHrmFlowActionService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.constraints.NotNull; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/flow/action") +public class HrmFlowActionController extends BaseController { + + private final IHrmFlowActionService service; + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/list") + public TableDataInfo list(HrmFlowActionBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:flow:query") + @GetMapping("/{actionId}") + public R getInfo(@PathVariable @NotNull Long actionId) { + return R.ok(service.queryById(actionId)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowFormDataController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowFormDataController.java new file mode 100644 index 00000000..e8ff1dbf --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowFormDataController.java @@ -0,0 +1,39 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFormDataBo; +import com.klp.hrm.domain.vo.HrmFormDataVo; +import com.klp.hrm.service.IHrmFormDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.constraints.NotNull; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/flow/form") +public class HrmFlowFormDataController extends BaseController { + + private final IHrmFormDataService service; + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/list") + public TableDataInfo list(HrmFormDataBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:flow:query") + @GetMapping("/{formId}") + public R getInfo(@PathVariable @NotNull Long formId) { + return R.ok(service.queryById(formId)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowInstanceController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowInstanceController.java new file mode 100644 index 00000000..830ffbd2 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowInstanceController.java @@ -0,0 +1,76 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmFlowInstanceBo; +import com.klp.hrm.domain.bo.HrmFlowStartBo; +import com.klp.hrm.domain.vo.HrmFlowInstanceVo; +import com.klp.hrm.service.IHrmFlowInstanceService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/flow/instance") +public class HrmFlowInstanceController extends BaseController { + + private final IHrmFlowInstanceService service; + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/list") + public TableDataInfo list(HrmFlowInstanceBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:flow:query") + @GetMapping("/{instId}") + public R getInfo(@PathVariable @NotNull Long instId) { + return R.ok(service.queryById(instId)); + } + + @SaCheckPermission("hrm:flow:add") + @Log(title = "流程实例", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmFlowInstanceBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:flow:edit") + @Log(title = "流程实例", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmFlowInstanceBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:flow:remove") + @Log(title = "流程实例", businessType = BusinessType.DELETE) + @DeleteMapping("/{instIds}") + public R remove(@PathVariable @NotEmpty Long[] instIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(instIds), true)); + } + + @SaCheckPermission("hrm:flow:add") + @Log(title = "流程实例启动", businessType = BusinessType.INSERT) + @PostMapping("/start") + public R start(@Validated @RequestBody HrmFlowStartBo bo) { + return R.ok(service.startInstance(bo)); + } + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/all") + public R> all(HrmFlowInstanceBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowNodeController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowNodeController.java new file mode 100644 index 00000000..a0a4d1be --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowNodeController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmFlowNodeBo; +import com.klp.hrm.domain.vo.HrmFlowNodeVo; +import com.klp.hrm.service.IHrmFlowNodeService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/flow/node") +public class HrmFlowNodeController extends BaseController { + + private final IHrmFlowNodeService service; + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/list") + public TableDataInfo list(HrmFlowNodeBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:flow:query") + @GetMapping("/{nodeId}") + public R getInfo(@PathVariable @NotNull Long nodeId) { + return R.ok(service.queryById(nodeId)); + } + + @SaCheckPermission("hrm:flow:add") + @Log(title = "流程节点", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmFlowNodeBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:flow:edit") + @Log(title = "流程节点", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmFlowNodeBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:flow:remove") + @Log(title = "流程节点", businessType = BusinessType.DELETE) + @DeleteMapping("/{nodeIds}") + public R remove(@PathVariable @NotEmpty Long[] nodeIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(nodeIds), true)); + } + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/all") + public R> all(HrmFlowNodeBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowTaskController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowTaskController.java new file mode 100644 index 00000000..cfe7df20 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowTaskController.java @@ -0,0 +1,101 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.stp.StpUtil; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmFlowTaskBo; +import com.klp.hrm.domain.bo.HrmSealStampBo; +import com.klp.hrm.domain.vo.HrmFlowTaskVo; +import com.klp.hrm.service.IHrmFlowTaskService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/flow/task") +public class HrmFlowTaskController extends BaseController { + + private final IHrmFlowTaskService service; + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/list") + public TableDataInfo list(HrmFlowTaskBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/todo") + public R> todo(@RequestParam(required = false) Long assigneeUserId) { + HrmFlowTaskBo bo = new HrmFlowTaskBo(); + bo.setAssigneeUserId(assigneeUserId != null ? assigneeUserId : StpUtil.getLoginIdAsLong()); + bo.setStatus("pending"); + return R.ok(service.queryList(bo)); + } + + @SaCheckPermission("hrm:flow:query") + @GetMapping("/{taskId}") + public R getInfo(@PathVariable @NotNull Long taskId) { + return R.ok(service.queryById(taskId)); + } + + @SaCheckPermission("hrm:flow:add") + @Log(title = "流程任务", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmFlowTaskBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:flow:edit") + @Log(title = "流程任务", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmFlowTaskBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:flow:remove") + @Log(title = "流程任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{taskIds}") + public R remove(@PathVariable @NotEmpty Long[] taskIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(taskIds), true)); + } + + @SaCheckPermission("hrm:flow:edit") + @Log(title = "流程任务审批通过", businessType = BusinessType.UPDATE) + @PostMapping("/{taskId}/approve") + public R approve(@PathVariable @NotNull Long taskId, + @RequestParam(required = false) Long actionUserId, + @RequestParam(required = false) String remark, + @RequestBody(required = false) HrmSealStampBo stampBo) { + return toAjax(service.approve(taskId, actionUserId, remark, stampBo)); + } + + @SaCheckPermission("hrm:flow:edit") + @Log(title = "流程任务审批驳回", businessType = BusinessType.UPDATE) + @PostMapping("/{taskId}/reject") + public R reject(@PathVariable @NotNull Long taskId, + @RequestParam(required = false) Long actionUserId, + @RequestParam(required = false) String remark) { + return toAjax(service.reject(taskId, actionUserId, remark)); + } + + @SaCheckPermission("hrm:flow:edit") + @Log(title = "流程任务撤回", businessType = BusinessType.UPDATE) + @PostMapping("/{taskId}/withdraw") + public R withdraw(@PathVariable @NotNull Long taskId, + @RequestParam(required = false) Long actionUserId, + @RequestParam(required = false) String remark) { + return toAjax(service.withdraw(taskId, actionUserId, remark)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowTemplateController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowTemplateController.java new file mode 100644 index 00000000..1a5483c8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmFlowTemplateController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmFlowTemplateBo; +import com.klp.hrm.domain.vo.HrmFlowTemplateVo; +import com.klp.hrm.service.IHrmFlowTemplateService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/flow/template") +public class HrmFlowTemplateController extends BaseController { + + private final IHrmFlowTemplateService service; + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/list") + public TableDataInfo list(HrmFlowTemplateBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:flow:query") + @GetMapping("/{tplId}") + public R getInfo(@PathVariable @NotNull Long tplId) { + return R.ok(service.queryById(tplId)); + } + + @SaCheckPermission("hrm:flow:add") + @Log(title = "流程模板", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmFlowTemplateBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:flow:edit") + @Log(title = "流程模板", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmFlowTemplateBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:flow:remove") + @Log(title = "流程模板", businessType = BusinessType.DELETE) + @DeleteMapping("/{tplIds}") + public R remove(@PathVariable @NotEmpty Long[] tplIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(tplIds), true)); + } + + @SaCheckPermission("hrm:flow:list") + @GetMapping("/all") + public R> all(HrmFlowTemplateBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmGradeController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmGradeController.java new file mode 100644 index 00000000..01a83f71 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmGradeController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmGradeBo; +import com.klp.hrm.domain.vo.HrmGradeVo; +import com.klp.hrm.service.IHrmGradeService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/grade") +public class HrmGradeController extends BaseController { + + private final IHrmGradeService service; + + @SaCheckPermission("hrm:grade:list") + @GetMapping("/list") + public TableDataInfo list(HrmGradeBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:grade:query") + @GetMapping("/{gradeId}") + public R getInfo(@PathVariable @NotNull Long gradeId) { + return R.ok(service.queryById(gradeId)); + } + + @SaCheckPermission("hrm:grade:add") + @Log(title = "职级管理", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmGradeBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:grade:edit") + @Log(title = "职级管理", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmGradeBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:grade:remove") + @Log(title = "职级管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{gradeIds}") + public R remove(@PathVariable @NotEmpty Long[] gradeIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(gradeIds), true)); + } + + @SaCheckPermission("hrm:grade:list") + @GetMapping("/all") + public R> all(HrmGradeBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmHeadcountPlanController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmHeadcountPlanController.java new file mode 100644 index 00000000..b98fbb21 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmHeadcountPlanController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmHeadcountPlanBo; +import com.klp.hrm.domain.vo.HrmHeadcountPlanVo; +import com.klp.hrm.service.IHrmHeadcountPlanService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/headcount") +public class HrmHeadcountPlanController extends BaseController { + + private final IHrmHeadcountPlanService service; + + @SaCheckPermission("hrm:headcount:list") + @GetMapping("/list") + public TableDataInfo list(HrmHeadcountPlanBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:headcount:query") + @GetMapping("/{planId}") + public R getInfo(@PathVariable @NotNull Long planId) { + return R.ok(service.queryById(planId)); + } + + @SaCheckPermission("hrm:headcount:add") + @Log(title = "编制管理", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmHeadcountPlanBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:headcount:edit") + @Log(title = "编制管理", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmHeadcountPlanBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:headcount:remove") + @Log(title = "编制管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{planIds}") + public R remove(@PathVariable @NotEmpty Long[] planIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(planIds), true)); + } + + @SaCheckPermission("hrm:headcount:list") + @GetMapping("/all") + public R> all(HrmHeadcountPlanBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmLeaveBalanceController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmLeaveBalanceController.java new file mode 100644 index 00000000..f1594ed4 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmLeaveBalanceController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmLeaveBalanceBo; +import com.klp.hrm.domain.vo.HrmLeaveBalanceVo; +import com.klp.hrm.service.IHrmLeaveBalanceService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/leave/balance") +public class HrmLeaveBalanceController extends BaseController { + + private final IHrmLeaveBalanceService service; + + @SaCheckPermission("hrm:leavebal:list") + @GetMapping("/list") + public TableDataInfo list(HrmLeaveBalanceBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:leavebal:query") + @GetMapping("/{balId}") + public R getInfo(@PathVariable @NotNull Long balId) { + return R.ok(service.queryById(balId)); + } + + @SaCheckPermission("hrm:leavebal:add") + @Log(title = "假期余额", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmLeaveBalanceBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:leavebal:edit") + @Log(title = "假期余额", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmLeaveBalanceBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:leavebal:remove") + @Log(title = "假期余额", businessType = BusinessType.DELETE) + @DeleteMapping("/{balIds}") + public R remove(@PathVariable @NotEmpty Long[] balIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(balIds), true)); + } + + @SaCheckPermission("hrm:leavebal:list") + @GetMapping("/all") + public R> all(HrmLeaveBalanceBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmLeaveReqController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmLeaveReqController.java new file mode 100644 index 00000000..f8b28204 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmLeaveReqController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmLeaveReqBo; +import com.klp.hrm.domain.vo.HrmLeaveReqVo; +import com.klp.hrm.service.IHrmLeaveReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/leave/req") +public class HrmLeaveReqController extends BaseController { + + private final IHrmLeaveReqService service; + + @SaCheckPermission("hrm:leave:req:list") + @GetMapping("/list") + public TableDataInfo list(HrmLeaveReqBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:leave:req:query") + @GetMapping("/{bizId}") + public R getInfo(@PathVariable @NotNull Long bizId) { + return R.ok(service.queryById(bizId)); + } + + @SaCheckPermission("hrm:leave:req:add") + @Log(title = "请假单", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmLeaveReqBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:leave:req:edit") + @Log(title = "请假单", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmLeaveReqBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:leave:req:remove") + @Log(title = "请假单", businessType = BusinessType.DELETE) + @DeleteMapping("/{bizIds}") + public R remove(@PathVariable @NotEmpty Long[] bizIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(bizIds), true)); + } + + @SaCheckPermission("hrm:leave:req:list") + @GetMapping("/all") + public R> all(HrmLeaveReqBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmOrgController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmOrgController.java new file mode 100644 index 00000000..b65143b4 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmOrgController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmOrgBo; +import com.klp.hrm.domain.vo.HrmOrgVo; +import com.klp.hrm.service.IHrmOrgService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/org") +public class HrmOrgController extends BaseController { + + private final IHrmOrgService service; + + @SaCheckPermission("hrm:org:list") + @GetMapping("/list") + public TableDataInfo list(HrmOrgBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:org:query") + @GetMapping("/{orgId}") + public R getInfo(@PathVariable @NotNull Long orgId) { + return R.ok(service.queryById(orgId)); + } + + @SaCheckPermission("hrm:org:add") + @Log(title = "组织管理", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmOrgBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:org:edit") + @Log(title = "组织管理", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmOrgBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:org:remove") + @Log(title = "组织管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{orgIds}") + public R remove(@PathVariable @NotEmpty Long[] orgIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(orgIds), true)); + } + + @SaCheckPermission("hrm:org:list") + @GetMapping("/all") + public R> all(HrmOrgBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmOvertimeReqController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmOvertimeReqController.java new file mode 100644 index 00000000..8a8c052a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmOvertimeReqController.java @@ -0,0 +1,64 @@ +package com.klp.hrm.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmOvertimeReqBo; +import com.klp.hrm.domain.vo.HrmOvertimeReqVo; +import com.klp.hrm.service.IHrmOvertimeReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 加班单(按用户要求:不做鉴权) + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/overtime") +public class HrmOvertimeReqController extends BaseController { + + private final IHrmOvertimeReqService service; + + @GetMapping("/list") + public TableDataInfo list(HrmOvertimeReqBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @GetMapping("/{bizId}") + public R getInfo(@PathVariable @NotNull Long bizId) { + return R.ok(service.queryById(bizId)); + } + + @Log(title = "加班单", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmOvertimeReqBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @Log(title = "加班单", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmOvertimeReqBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @Log(title = "加班单", businessType = BusinessType.DELETE) + @DeleteMapping("/{bizIds}") + public R remove(@PathVariable @NotEmpty Long[] bizIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(bizIds), true)); + } + + @GetMapping("/all") + public R> all(HrmOvertimeReqBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayPlanController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayPlanController.java new file mode 100644 index 00000000..3b803b37 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayPlanController.java @@ -0,0 +1,64 @@ +package com.klp.hrm.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmPayPlanBo; +import com.klp.hrm.domain.vo.HrmPayPlanVo; +import com.klp.hrm.service.IHrmPayPlanService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 薪酬方案(按用户要求:不做鉴权) + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/pay/plan") +public class HrmPayPlanController extends BaseController { + + private final IHrmPayPlanService service; + + @GetMapping("/list") + public TableDataInfo list(HrmPayPlanBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @GetMapping("/{planId}") + public R getInfo(@PathVariable @NotNull Long planId) { + return R.ok(service.queryById(planId)); + } + + @Log(title = "薪酬方案", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmPayPlanBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @Log(title = "薪酬方案", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmPayPlanBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @Log(title = "薪酬方案", businessType = BusinessType.DELETE) + @DeleteMapping("/{planIds}") + public R remove(@PathVariable @NotEmpty Long[] planIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(planIds), true)); + } + + @GetMapping("/all") + public R> all(HrmPayPlanBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayRunController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayRunController.java new file mode 100644 index 00000000..b977c66b --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayRunController.java @@ -0,0 +1,64 @@ +package com.klp.hrm.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmPayRunBo; +import com.klp.hrm.domain.vo.HrmPayRunVo; +import com.klp.hrm.service.IHrmPayRunService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 薪酬批次(无鉴权) + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/pay/run") +public class HrmPayRunController extends BaseController { + + private final IHrmPayRunService service; + + @GetMapping("/list") + public TableDataInfo list(HrmPayRunBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @GetMapping("/{runId}") + public R getInfo(@PathVariable @NotNull Long runId) { + return R.ok(service.queryById(runId)); + } + + @Log(title = "薪酬批次", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmPayRunBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @Log(title = "薪酬批次", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmPayRunBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @Log(title = "薪酬批次", businessType = BusinessType.DELETE) + @DeleteMapping("/{runIds}") + public R remove(@PathVariable @NotEmpty Long[] runIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(runIds), true)); + } + + @GetMapping("/all") + public R> all(HrmPayRunBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayslipController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayslipController.java new file mode 100644 index 00000000..80c789f9 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPayslipController.java @@ -0,0 +1,64 @@ +package com.klp.hrm.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmPayslipBo; +import com.klp.hrm.domain.vo.HrmPayslipVo; +import com.klp.hrm.service.IHrmPayslipService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 工资条(无鉴权) + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/payslip") +public class HrmPayslipController extends BaseController { + + private final IHrmPayslipService service; + + @GetMapping("/list") + public TableDataInfo list(HrmPayslipBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @GetMapping("/{slipId}") + public R getInfo(@PathVariable @NotNull Long slipId) { + return R.ok(service.queryById(slipId)); + } + + @Log(title = "工资条", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmPayslipBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @Log(title = "工资条", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmPayslipBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @Log(title = "工资条", businessType = BusinessType.DELETE) + @DeleteMapping("/{slipIds}") + public R remove(@PathVariable @NotEmpty Long[] slipIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(slipIds), true)); + } + + @GetMapping("/all") + public R> all(HrmPayslipBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPositionController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPositionController.java new file mode 100644 index 00000000..70054a3f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPositionController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmPositionBo; +import com.klp.hrm.domain.vo.HrmPositionVo; +import com.klp.hrm.service.IHrmPositionService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/position") +public class HrmPositionController extends BaseController { + + private final IHrmPositionService service; + + @SaCheckPermission("hrm:position:list") + @GetMapping("/list") + public TableDataInfo list(HrmPositionBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:position:query") + @GetMapping("/{positionId}") + public R getInfo(@PathVariable @NotNull Long positionId) { + return R.ok(service.queryById(positionId)); + } + + @SaCheckPermission("hrm:position:add") + @Log(title = "岗位管理", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmPositionBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:position:edit") + @Log(title = "岗位管理", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmPositionBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:position:remove") + @Log(title = "岗位管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{positionIds}") + public R remove(@PathVariable @NotEmpty Long[] positionIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(positionIds), true)); + } + + @SaCheckPermission("hrm:position:list") + @GetMapping("/all") + public R> all(HrmPositionBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPunchController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPunchController.java new file mode 100644 index 00000000..66310b99 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmPunchController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmPunchBo; +import com.klp.hrm.domain.vo.HrmPunchVo; +import com.klp.hrm.service.IHrmPunchService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/punch") +public class HrmPunchController extends BaseController { + + private final IHrmPunchService service; + + @SaCheckPermission("hrm:punch:list") + @GetMapping("/list") + public TableDataInfo list(HrmPunchBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:punch:query") + @GetMapping("/{punchId}") + public R getInfo(@PathVariable @NotNull Long punchId) { + return R.ok(service.queryById(punchId)); + } + + @SaCheckPermission("hrm:punch:add") + @Log(title = "打卡记录", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmPunchBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:punch:edit") + @Log(title = "打卡记录", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmPunchBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:punch:remove") + @Log(title = "打卡记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{punchIds}") + public R remove(@PathVariable @NotEmpty Long[] punchIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(punchIds), true)); + } + + @SaCheckPermission("hrm:punch:list") + @GetMapping("/all") + public R> all(HrmPunchBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmScheduleController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmScheduleController.java new file mode 100644 index 00000000..6c2300e2 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmScheduleController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmScheduleBo; +import com.klp.hrm.domain.vo.HrmScheduleVo; +import com.klp.hrm.service.IHrmScheduleService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/schedule") +public class HrmScheduleController extends BaseController { + + private final IHrmScheduleService service; + + @SaCheckPermission("hrm:schedule:list") + @GetMapping("/list") + public TableDataInfo list(HrmScheduleBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:schedule:query") + @GetMapping("/{schedId}") + public R getInfo(@PathVariable @NotNull Long schedId) { + return R.ok(service.queryById(schedId)); + } + + @SaCheckPermission("hrm:schedule:add") + @Log(title = "排班", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmScheduleBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:schedule:edit") + @Log(title = "排班", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmScheduleBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:schedule:remove") + @Log(title = "排班", businessType = BusinessType.DELETE) + @DeleteMapping("/{schedIds}") + public R remove(@PathVariable @NotEmpty Long[] schedIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(schedIds), true)); + } + + @SaCheckPermission("hrm:schedule:list") + @GetMapping("/all") + public R> all(HrmScheduleBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmSealReqController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmSealReqController.java new file mode 100644 index 00000000..62573db8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmSealReqController.java @@ -0,0 +1,99 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmSealReqBo; +import com.klp.hrm.domain.bo.HrmSealStampBo; +import com.klp.hrm.domain.vo.HrmSealReqVo; +import com.klp.hrm.service.IHrmSealReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * 用印申请 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/seal") +public class HrmSealReqController extends BaseController { + + private final IHrmSealReqService service; + + @SaCheckPermission("hrm:seal:list") + @GetMapping("/list") + public TableDataInfo list(HrmSealReqBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:seal:query") + @GetMapping("/{bizId}") + public R getInfo(@PathVariable @NotNull Long bizId) { + return R.ok(service.queryById(bizId)); + } + + @SaCheckPermission("hrm:seal:add") + @Log(title = "用印申请", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmSealReqBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:seal:edit") + @Log(title = "用印申请", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmSealReqBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:seal:remove") + @Log(title = "用印申请", businessType = BusinessType.DELETE) + @DeleteMapping("/{bizIds}") + public R remove(@PathVariable @NotEmpty Long[] bizIds) { + return toAjax(service.deleteWithValidByIds(java.util.Arrays.asList(bizIds), true)); + } + + @SaCheckPermission("hrm:seal:approve") + @Log(title = "用印申请", businessType = BusinessType.UPDATE) + @PostMapping("/{bizId}/approve") + public R approve(@PathVariable @NotNull Long bizId) { + return toAjax(service.updateStatus(bizId, "approved")); + } + + @SaCheckPermission("hrm:seal:reject") + @Log(title = "用印申请", businessType = BusinessType.UPDATE) + @PostMapping("/{bizId}/reject") + public R reject(@PathVariable @NotNull Long bizId) { + return toAjax(service.updateStatus(bizId, "rejected")); + } + + @SaCheckPermission("hrm:seal:cancel") + @Log(title = "用印申请", businessType = BusinessType.UPDATE) + @PostMapping("/{bizId}/cancel") + public R cancel(@PathVariable @NotNull Long bizId) { + return toAjax(service.updateStatus(bizId, "canceled")); + } + + @SaCheckPermission("hrm:seal:stamp") + @Log(title = "用印盖章(Java)", businessType = BusinessType.UPDATE) + @PostMapping("/{bizId}/stamp/java") + public R stampJava(@PathVariable @NotNull Long bizId, @Validated @RequestBody HrmSealStampBo bo) { + return R.ok(service.stampWithJava(bizId, bo)); + } + + @SaCheckPermission("hrm:seal:stamp") + @Log(title = "用印盖章(Python)", businessType = BusinessType.UPDATE) + @PostMapping("/{bizId}/stamp/python") + public R stampPython(@PathVariable @NotNull Long bizId, @Validated @RequestBody HrmSealStampBo bo) { + return R.ok(service.stampWithPython(bizId, bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmShiftController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmShiftController.java new file mode 100644 index 00000000..39820db9 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmShiftController.java @@ -0,0 +1,68 @@ +package com.klp.hrm.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmShiftBo; +import com.klp.hrm.domain.vo.HrmShiftVo; +import com.klp.hrm.service.IHrmShiftService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/shift") +public class HrmShiftController extends BaseController { + + private final IHrmShiftService service; + + @SaCheckPermission("hrm:shift:list") + @GetMapping("/list") + public TableDataInfo list(HrmShiftBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @SaCheckPermission("hrm:shift:query") + @GetMapping("/{shiftId}") + public R getInfo(@PathVariable @NotNull Long shiftId) { + return R.ok(service.queryById(shiftId)); + } + + @SaCheckPermission("hrm:shift:add") + @Log(title = "班次", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmShiftBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @SaCheckPermission("hrm:shift:edit") + @Log(title = "班次", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmShiftBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @SaCheckPermission("hrm:shift:remove") + @Log(title = "班次", businessType = BusinessType.DELETE) + @DeleteMapping("/{shiftIds}") + public R remove(@PathVariable @NotEmpty Long[] shiftIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(shiftIds), true)); + } + + @SaCheckPermission("hrm:shift:list") + @GetMapping("/all") + public R> all(HrmShiftBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmStatSnapshotController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmStatSnapshotController.java new file mode 100644 index 00000000..21ff5e19 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmStatSnapshotController.java @@ -0,0 +1,64 @@ +package com.klp.hrm.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmStatSnapshotBo; +import com.klp.hrm.domain.vo.HrmStatSnapshotVo; +import com.klp.hrm.service.IHrmStatSnapshotService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 指标快照(无鉴权) + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/pay/stat") +public class HrmStatSnapshotController extends BaseController { + + private final IHrmStatSnapshotService service; + + @GetMapping("/list") + public TableDataInfo list(HrmStatSnapshotBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @GetMapping("/{snapId}") + public R getInfo(@PathVariable @NotNull Long snapId) { + return R.ok(service.queryById(snapId)); + } + + @Log(title = "指标快照", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmStatSnapshotBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @Log(title = "指标快照", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmStatSnapshotBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @Log(title = "指标快照", businessType = BusinessType.DELETE) + @DeleteMapping("/{snapIds}") + public R remove(@PathVariable @NotEmpty Long[] snapIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(snapIds), true)); + } + + @GetMapping("/all") + public R> all(HrmStatSnapshotBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/controller/HrmTravelReqController.java b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmTravelReqController.java new file mode 100644 index 00000000..a5f76855 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/controller/HrmTravelReqController.java @@ -0,0 +1,64 @@ +package com.klp.hrm.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.hrm.domain.bo.HrmTravelReqBo; +import com.klp.hrm.domain.vo.HrmTravelReqVo; +import com.klp.hrm.service.IHrmTravelReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 出差单(按用户要求:不做鉴权) + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hrm/travel") +public class HrmTravelReqController extends BaseController { + + private final IHrmTravelReqService service; + + @GetMapping("/list") + public TableDataInfo list(HrmTravelReqBo bo, PageQuery pageQuery) { + return service.queryPageList(bo, pageQuery); + } + + @GetMapping("/{bizId}") + public R getInfo(@PathVariable @NotNull Long bizId) { + return R.ok(service.queryById(bizId)); + } + + @Log(title = "出差单", businessType = BusinessType.INSERT) + @PostMapping + public R add(@Validated @RequestBody HrmTravelReqBo bo) { + return toAjax(service.insertByBo(bo)); + } + + @Log(title = "出差单", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated @RequestBody HrmTravelReqBo bo) { + return toAjax(service.updateByBo(bo)); + } + + @Log(title = "出差单", businessType = BusinessType.DELETE) + @DeleteMapping("/{bizIds}") + public R remove(@PathVariable @NotEmpty Long[] bizIds) { + return toAjax(service.deleteWithValidByIds(Arrays.asList(bizIds), true)); + } + + @GetMapping("/all") + public R> all(HrmTravelReqBo bo) { + return R.ok(service.queryList(bo)); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmAttendCalc.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmAttendCalc.java new file mode 100644 index 00000000..376dca60 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmAttendCalc.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_attend_calc") +public class HrmAttendCalc extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long calcId; + private Long empId; + private Date workDate; + private Long shiftId; + private String status; + private Integer workMinutes; + private Integer lateMinutes; + private Integer earlyMinutes; + private Integer otMinutes; + private String leaveMinutesJson; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmCertificate.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmCertificate.java new file mode 100644 index 00000000..a1c3ee1b --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmCertificate.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_certificate") +public class HrmCertificate extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long certId; + private Long empId; + private String certName; + private String certNo; + private String issuedBy; + private Date validFrom; + private Date validTo; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmContract.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmContract.java new file mode 100644 index 00000000..6cd604a8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmContract.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_contract") +public class HrmContract extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long contractId; + private Long empId; + private String contractNo; + private String contractType; + private Date startDate; + private Date endDate; + private String status; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmEmpOrgPosition.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmEmpOrgPosition.java new file mode 100644 index 00000000..0a07441c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmEmpOrgPosition.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * 员工-组织-岗位关系 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_emp_org_position") +public class HrmEmpOrgPosition extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long relId; + private Long empId; + private Long orgId; + private Long positionId; + private Integer isPrimary; + private Date startDate; + private Date endDate; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmEmployee.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmEmployee.java new file mode 100644 index 00000000..878bb753 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmEmployee.java @@ -0,0 +1,43 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 员工主数据 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_employee") +public class HrmEmployee extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long empId; + private Long userId; + private String empNo; + private String empName; + private String gender; + private String mobile; + private String email; + private String idNo; + private Date hireDate; + private String employmentType; + private String status; + private Long gradeId; + private Long mainOrgId; + private Long mainPositionId; + private BigDecimal seniorityYears; + private Date contractEndDate; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowAction.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowAction.java new file mode 100644 index 00000000..700cf199 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowAction.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_flow_action") +public class HrmFlowAction extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long actionId; + private Long taskId; + private Long instId; + private String action; + private String remark; + private Long actionUserId; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowInstance.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowInstance.java new file mode 100644 index 00000000..3530a4dd --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowInstance.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_flow_instance") +public class HrmFlowInstance extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long instId; + private Long tplId; + private String bizType; + private Long bizId; + private String status; + private Long currentNodeId; + private Long startUserId; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowNode.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowNode.java new file mode 100644 index 00000000..00366797 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowNode.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_flow_node") +public class HrmFlowNode extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long nodeId; + private Long tplId; + private Integer orderNo; + private String nodeType; + private String approverRule; + private String approverValue; // JSON + private String fieldPerm; // JSON + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowTask.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowTask.java new file mode 100644 index 00000000..f5dadaaa --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowTask.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_flow_task") +public class HrmFlowTask extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long taskId; + private Long instId; + private Long nodeId; + private Long assigneeUserId; + private String status; + private Date expireTime; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowTemplate.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowTemplate.java new file mode 100644 index 00000000..117bd78a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowTemplate.java @@ -0,0 +1,28 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_flow_template") +public class HrmFlowTemplate extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long tplId; + private String tplCode; + private String tplName; + private String bizType; + private Integer version; + private Integer enabled; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFormData.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFormData.java new file mode 100644 index 00000000..e8c52afe --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmFormData.java @@ -0,0 +1,26 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_form_data") +public class HrmFormData extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long formId; + private String bizType; + private Long bizId; + private String contentJson; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmGrade.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmGrade.java new file mode 100644 index 00000000..45702125 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmGrade.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * 职级 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_grade") +public class HrmGrade extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long gradeId; + private String gradeCode; + private String gradeName; + private Integer levelNo; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmHeadcountPlan.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmHeadcountPlan.java new file mode 100644 index 00000000..a49d3740 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmHeadcountPlan.java @@ -0,0 +1,31 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * 编制/预算 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_headcount_plan") +public class HrmHeadcountPlan extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long planId; + private Long orgId; + private Long positionId; + private Integer year; + private Integer month; + private Integer budgetCount; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmLeaveBalance.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmLeaveBalance.java new file mode 100644 index 00000000..42210f8f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmLeaveBalance.java @@ -0,0 +1,28 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_leave_balance") +public class HrmLeaveBalance extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long balId; + private Long empId; + private String leaveType; + private java.math.BigDecimal balanceHours; + private Date expireDate; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmLeaveReq.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmLeaveReq.java new file mode 100644 index 00000000..160c4c10 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmLeaveReq.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_leave_req") +public class HrmLeaveReq extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long bizId; + private Long empId; + private String leaveType; + private Date startTime; + private Date endTime; + private java.math.BigDecimal hours; + private String reason; + private String status; + private String accessoryApplyIds; + private String accessoryReceiptIds; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmOrg.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmOrg.java new file mode 100644 index 00000000..d41d9917 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmOrg.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * 组织/部门/班组 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_org") +public class HrmOrg extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long orgId; + private Long parentId; + private String orgCode; + private String orgName; + private String orgType; + private Long leaderUserId; + private Integer orderNum; + private Integer status; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmOvertimeReq.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmOvertimeReq.java new file mode 100644 index 00000000..4f76082f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmOvertimeReq.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_overtime_req") +public class HrmOvertimeReq extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long bizId; + private Long empId; + private String otType; + private Date startTime; + private Date endTime; + private java.math.BigDecimal hours; + private String reason; + private String status; + private String accessoryApplyIds; + private String accessoryReceiptIds; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayPlan.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayPlan.java new file mode 100644 index 00000000..e6c23c2b --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayPlan.java @@ -0,0 +1,28 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_pay_plan") +public class HrmPayPlan extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long planId; + private String planName; + private BigDecimal baseSalary; + private String allowanceJson; + private String formulaJson; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayRun.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayRun.java new file mode 100644 index 00000000..b4809e58 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayRun.java @@ -0,0 +1,26 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_pay_run") +public class HrmPayRun extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long runId; + private String period; + private String status; + private Long planId; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayslip.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayslip.java new file mode 100644 index 00000000..1c56442f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPayslip.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_payslip") +public class HrmPayslip extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long slipId; + private Long runId; + private Long empId; + private BigDecimal amountGross; + private BigDecimal amountNet; + private String itemsJson; + private String status; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPosition.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPosition.java new file mode 100644 index 00000000..6104eb5e --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPosition.java @@ -0,0 +1,31 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * 岗位 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_position") +public class HrmPosition extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long positionId; + private String positionCode; + private String positionName; + private Long gradeId; + private Integer orderNum; + private Integer status; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPunch.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPunch.java new file mode 100644 index 00000000..b60aac62 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmPunch.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_punch") +public class HrmPunch extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long punchId; + private Long empId; + private Date punchTime; + private String source; + private String location; + private String deviceId; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmSchedule.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmSchedule.java new file mode 100644 index 00000000..bc1f5f35 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmSchedule.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_schedule") +public class HrmSchedule extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long schedId; + private Long empId; + private Date workDate; + private Long shiftId; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmSealReq.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmSealReq.java new file mode 100644 index 00000000..0c329f41 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmSealReq.java @@ -0,0 +1,56 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * 用印申请 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_seal_req") +public class HrmSealReq extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 业务ID */ + @TableId + private Long bizId; + + /** 申请人ID */ + private Long empId; + + /** 用印类型(公章/合同章/财务章等) */ + private String sealType; + + /** 用途说明 */ + private String purpose; + + /** 申请材料附件ID列表(CSV,对应sys_oss) */ + private String applyFileIds; + + /** 是否需要回执 1是0否 */ + private Integer receiptRequired; + + /** 回执状态 none/pending/done */ + private String receiptStatus; + + /** 回执附件ID列表(CSV,对应sys_oss或直接URL) */ + private String receiptFileIds; + + /** 状态 draft/running/approved/rejected/canceled */ + private String status; + + /** 备注 */ + private String remark; + + /** 删除标识 0正常 2删除 */ + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmShift.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmShift.java new file mode 100644 index 00000000..3c6e8fa3 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmShift.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.time.LocalTime; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_shift") +public class HrmShift extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long shiftId; + private String shiftCode; + private String shiftName; + private LocalTime startTime; + private LocalTime endTime; + private Integer breakMinutes; + private Integer isNight; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmStatSnapshot.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmStatSnapshot.java new file mode 100644 index 00000000..db2bc3a4 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmStatSnapshot.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_stat_snapshot") +public class HrmStatSnapshot extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long snapId; + private Date statDate; + private String statType; + private String dimJson; + private BigDecimal valueNum; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/HrmTravelReq.java b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmTravelReq.java new file mode 100644 index 00000000..2d34695e --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/HrmTravelReq.java @@ -0,0 +1,32 @@ +package com.klp.hrm.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hrm_travel_req") +public class HrmTravelReq extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Long bizId; + private Long empId; + private Date startTime; + private Date endTime; + private String destination; + private String reason; + private String status; + private String accessoryApplyIds; + private String accessoryReceiptIds; + private String remark; + @TableLogic + private Integer delFlag; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmAttendCalcBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmAttendCalcBo.java new file mode 100644 index 00000000..1f1c947c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmAttendCalcBo.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmAttendCalcBo extends BaseEntity { + + private Long calcId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotNull(message = "工作日期不能为空") + private Date workDate; + + private Long shiftId; + private String status; + private Integer workMinutes; + private Integer lateMinutes; + private Integer earlyMinutes; + private Integer otMinutes; + private String leaveMinutesJson; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmCertificateBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmCertificateBo.java new file mode 100644 index 00000000..b5861acf --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmCertificateBo.java @@ -0,0 +1,28 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmCertificateBo extends BaseEntity { + + private Long certId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotBlank(message = "证书名称不能为空") + private String certName; + + private String certNo; + private String issuedBy; + private Date validFrom; + private Date validTo; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmContractBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmContractBo.java new file mode 100644 index 00000000..07fbd23a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmContractBo.java @@ -0,0 +1,28 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmContractBo extends BaseEntity { + + private Long contractId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotBlank(message = "合同编号不能为空") + private String contractNo; + + private String contractType; + private Date startDate; + private Date endDate; + private String status; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmEmpOrgPositionBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmEmpOrgPositionBo.java new file mode 100644 index 00000000..f6959937 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmEmpOrgPositionBo.java @@ -0,0 +1,32 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmEmpOrgPositionBo extends BaseEntity { + + private Long relId; + + @NotNull(message = "员工不能为空") + private Long empId; + + @NotNull(message = "组织不能为空") + private Long orgId; + + @NotNull(message = "岗位不能为空") + private Long positionId; + + private Integer isPrimary; + + private Date startDate; + + private Date endDate; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmEmployeeBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmEmployeeBo.java new file mode 100644 index 00000000..62aed66c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmEmployeeBo.java @@ -0,0 +1,49 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 员工 Bo + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmEmployeeBo extends BaseEntity { + + private Long empId; + + private Long userId; + + @NotBlank(message = "工号不能为空") + private String empNo; + + @NotBlank(message = "姓名不能为空") + private String empName; + + private String gender; + + private String mobile; + + private String email; + + private String idNo; + + private Date hireDate; + + private String employmentType; + + private String status; + + private Long gradeId; + + private Long mainOrgId; + + private Long mainPositionId; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowActionBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowActionBo.java new file mode 100644 index 00000000..62843785 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowActionBo.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmFlowActionBo extends BaseEntity { + + private Long actionId; + + private Long taskId; + + @NotNull(message = "实例ID不能为空") + private Long instId; + + @NotBlank(message = "动作不能为空") + private String action; + + private String remark; + + private Long actionUserId; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowInstanceBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowInstanceBo.java new file mode 100644 index 00000000..1be41751 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowInstanceBo.java @@ -0,0 +1,32 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmFlowInstanceBo extends BaseEntity { + + private Long instId; + + @NotNull(message = "模板ID不能为空") + private Long tplId; + + @NotBlank(message = "业务类型不能为空") + private String bizType; + + @NotNull(message = "业务ID不能为空") + private Long bizId; + + private String status; + + private Long currentNodeId; + + private Long startUserId; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowNodeBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowNodeBo.java new file mode 100644 index 00000000..d93a7d13 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowNodeBo.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmFlowNodeBo extends BaseEntity { + + private Long nodeId; + + @NotNull(message = "模板ID不能为空") + private Long tplId; + + @NotNull(message = "顺序不能为空") + private Integer orderNo; + + @NotBlank(message = "节点类型不能为空") + private String nodeType; + + @NotBlank(message = "审批人规则不能为空") + private String approverRule; + + private String approverValue; + + private String fieldPerm; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowStartBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowStartBo.java new file mode 100644 index 00000000..c0466fbc --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowStartBo.java @@ -0,0 +1,18 @@ +package com.klp.hrm.domain.bo; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class HrmFlowStartBo { + @NotNull(message = "模板ID不能为空") + private Long tplId; + @NotBlank(message = "业务类型不能为空") + private String bizType; + @NotNull(message = "业务ID不能为空") + private Long bizId; + private Long startUserId; + private String contentJson; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowTaskBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowTaskBo.java new file mode 100644 index 00000000..19da50b2 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowTaskBo.java @@ -0,0 +1,23 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmFlowTaskBo extends BaseEntity { + + private Long taskId; + @NotNull(message = "实例ID不能为空") + private Long instId; + @NotNull(message = "节点ID不能为空") + private Long nodeId; + private Long assigneeUserId; + private String status; + private Date expireTime; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowTemplateBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowTemplateBo.java new file mode 100644 index 00000000..c3978082 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowTemplateBo.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmFlowTemplateBo extends BaseEntity { + + private Long tplId; + + @NotBlank(message = "模板编码不能为空") + private String tplCode; + + @NotBlank(message = "模板名称不能为空") + private String tplName; + + @NotBlank(message = "业务类型不能为空") + private String bizType; + + private Integer version; + + private Integer enabled; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFormDataBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFormDataBo.java new file mode 100644 index 00000000..a1519bb2 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFormDataBo.java @@ -0,0 +1,26 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmFormDataBo extends BaseEntity { + + private Long formId; + + @NotBlank(message = "业务类型不能为空") + private String bizType; + + @NotNull(message = "业务ID不能为空") + private Long bizId; + + @NotBlank(message = "表单内容不能为空") + private String contentJson; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmGradeBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmGradeBo.java new file mode 100644 index 00000000..61d698ad --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmGradeBo.java @@ -0,0 +1,24 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmGradeBo extends BaseEntity { + + private Long gradeId; + + @NotBlank(message = "职级编码不能为空") + private String gradeCode; + + @NotBlank(message = "职级名称不能为空") + private String gradeName; + + private Integer levelNo; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmHeadcountPlanBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmHeadcountPlanBo.java new file mode 100644 index 00000000..fa020a84 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmHeadcountPlanBo.java @@ -0,0 +1,31 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmHeadcountPlanBo extends BaseEntity { + + private Long planId; + + @NotNull(message = "组织不能为空") + private Long orgId; + + @NotNull(message = "岗位不能为空") + private Long positionId; + + @NotNull(message = "年份不能为空") + private Integer year; + + @NotNull(message = "月份不能为空") + private Integer month; + + @NotNull(message = "编制人数不能为空") + private Integer budgetCount; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmLeaveBalanceBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmLeaveBalanceBo.java new file mode 100644 index 00000000..a32421d7 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmLeaveBalanceBo.java @@ -0,0 +1,28 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmLeaveBalanceBo extends BaseEntity { + + private Long balId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotNull(message = "假期类型不能为空") + private String leaveType; + + @NotNull(message = "余额小时不能为空") + private java.math.BigDecimal balanceHours; + + private Date expireDate; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmLeaveReqBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmLeaveReqBo.java new file mode 100644 index 00000000..d641518a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmLeaveReqBo.java @@ -0,0 +1,37 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmLeaveReqBo extends BaseEntity { + + private Long bizId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotBlank(message = "请假类型不能为空") + private String leaveType; + + @NotNull(message = "开始时间不能为空") + private Date startTime; + + @NotNull(message = "结束时间不能为空") + private Date endTime; + + @NotNull(message = "时长不能为空") + private java.math.BigDecimal hours; + + private String reason; + private String status; + private String accessoryApplyIds; + private String accessoryReceiptIds; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmOrgBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmOrgBo.java new file mode 100644 index 00000000..c1a53d5f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmOrgBo.java @@ -0,0 +1,39 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 组织 Bo + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmOrgBo extends BaseEntity { + + /** 组织ID */ + private Long orgId; + + /** 父级组织ID */ + private Long parentId; + + @NotBlank(message = "组织编码不能为空") + private String orgCode; + + @NotBlank(message = "组织名称不能为空") + private String orgName; + + @NotBlank(message = "组织类型不能为空") + private String orgType; + + private Long leaderUserId; + + private Integer orderNum; + + private Integer status; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmOvertimeReqBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmOvertimeReqBo.java new file mode 100644 index 00000000..00711450 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmOvertimeReqBo.java @@ -0,0 +1,35 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmOvertimeReqBo extends BaseEntity { + + private Long bizId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + private String otType; + + @NotNull(message = "开始时间不能为空") + private Date startTime; + + @NotNull(message = "结束时间不能为空") + private Date endTime; + + @NotNull(message = "时长不能为空") + private java.math.BigDecimal hours; + + private String reason; + private String status; + private String accessoryApplyIds; + private String accessoryReceiptIds; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayPlanBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayPlanBo.java new file mode 100644 index 00000000..a1d5c544 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayPlanBo.java @@ -0,0 +1,23 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmPayPlanBo extends BaseEntity { + + private Long planId; + + @NotBlank(message = "方案名称不能为空") + private String planName; + + private BigDecimal baseSalary; + private String allowanceJson; + private String formulaJson; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayRunBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayRunBo.java new file mode 100644 index 00000000..17c18682 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayRunBo.java @@ -0,0 +1,22 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmPayRunBo extends BaseEntity { + + private Long runId; + + @NotBlank(message = "核算周期不能为空") + private String period; + + private String status; + private Long planId; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayslipBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayslipBo.java new file mode 100644 index 00000000..08faab6b --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPayslipBo.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmPayslipBo extends BaseEntity { + + private Long slipId; + + @NotNull(message = "批次ID不能为空") + private Long runId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + private BigDecimal amountGross; + private BigDecimal amountNet; + private String itemsJson; + private String status; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPositionBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPositionBo.java new file mode 100644 index 00000000..aa2e1c28 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPositionBo.java @@ -0,0 +1,28 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmPositionBo extends BaseEntity { + + private Long positionId; + + @NotBlank(message = "岗位编码不能为空") + private String positionCode; + + @NotBlank(message = "岗位名称不能为空") + private String positionName; + + private Long gradeId; + + private Integer orderNum; + + private Integer status; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPunchBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPunchBo.java new file mode 100644 index 00000000..9c8b79df --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmPunchBo.java @@ -0,0 +1,26 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmPunchBo extends BaseEntity { + + private Long punchId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotNull(message = "打卡时间不能为空") + private Date punchTime; + + private String source; + private String location; + private String deviceId; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmScheduleBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmScheduleBo.java new file mode 100644 index 00000000..fb0bec60 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmScheduleBo.java @@ -0,0 +1,26 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmScheduleBo extends BaseEntity { + + private Long schedId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotNull(message = "工作日期不能为空") + private Date workDate; + + @NotNull(message = "班次ID不能为空") + private Long shiftId; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmSealReqBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmSealReqBo.java new file mode 100644 index 00000000..d6aae649 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmSealReqBo.java @@ -0,0 +1,51 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 用印申请 Bo + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmSealReqBo extends BaseEntity { + + /** 业务ID(编辑/审批时必填) */ + private Long bizId; + + /** 申请人ID */ + @NotNull(message = "申请人不能为空") + private Long empId; + + /** 用印类型 */ + @NotBlank(message = "用印类型不能为空") + private String sealType; + + /** 用途说明 */ + private String purpose; + + /** 申请材料附件ID列表(CSV,对应sys_oss) */ + private String applyFileIds; + + /** 是否需要回执 1是0否 */ + private Integer receiptRequired; + + /** 备注 */ + private String remark; + + /** 状态 draft/running/approved/rejected/canceled */ + private String status; + + /** 关联流程模板ID(提交时可选,存在则自动发起审批) */ + private Long flowTplId; + + /** 流程发起人ID(可选,不填可由服务侧取当前登录人) */ + private Long startUserId; + + /** 提交流程时的表单内容JSON(可选) */ + private String contentJson; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmSealStampBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmSealStampBo.java new file mode 100644 index 00000000..4890f7ae --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmSealStampBo.java @@ -0,0 +1,45 @@ +package com.klp.hrm.domain.bo; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 盖章命令(Java/Python 坐标统一使用 px) + */ +@Data +public class HrmSealStampBo { + + /** 待盖章 PDF 的 OSS 完整 URL */ + @NotBlank(message = "待盖章文件地址不能为空") + private String targetFileUrl; + + /** 章图片 OSS 完整 URL(透明 PNG/JPG) */ + @NotBlank(message = "章图片地址不能为空") + private String stampImageUrl; + + /** 页码(从1开始) */ + @NotNull + @Min(1) + private Integer pageNo; + + /** 左下角 X 坐标(px) */ + @NotNull + @Min(0) + private Integer xPx; + + /** 左下角 Y 坐标(px) */ + @NotNull + @Min(0) + private Integer yPx; + + /** 盖章宽度(px,可选) */ + @Min(1) + private Integer widthPx; + + /** 盖章高度(px,可选) */ + @Min(1) + private Integer heightPx; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmShiftBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmShiftBo.java new file mode 100644 index 00000000..5087d487 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmShiftBo.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.time.LocalTime; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmShiftBo extends BaseEntity { + + private Long shiftId; + + @NotBlank(message = "班次编码不能为空") + private String shiftCode; + + @NotBlank(message = "班次名称不能为空") + private String shiftName; + + private LocalTime startTime; + private LocalTime endTime; + private Integer breakMinutes; + private Integer isNight; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmStatSnapshotBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmStatSnapshotBo.java new file mode 100644 index 00000000..2774a2ad --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmStatSnapshotBo.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmStatSnapshotBo extends BaseEntity { + + private Long snapId; + + @NotNull(message = "统计日期不能为空") + private Date statDate; + + @NotBlank(message = "指标类型不能为空") + private String statType; + + private String dimJson; + + private BigDecimal valueNum; + + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmTravelReqBo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmTravelReqBo.java new file mode 100644 index 00000000..f2099949 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmTravelReqBo.java @@ -0,0 +1,31 @@ +package com.klp.hrm.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class HrmTravelReqBo extends BaseEntity { + + private Long bizId; + + @NotNull(message = "员工ID不能为空") + private Long empId; + + @NotNull(message = "开始时间不能为空") + private Date startTime; + + @NotNull(message = "结束时间不能为空") + private Date endTime; + + private String destination; + private String reason; + private String status; + private String accessoryApplyIds; + private String accessoryReceiptIds; + private String remark; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmAttendCalcVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmAttendCalcVo.java new file mode 100644 index 00000000..f77fc911 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmAttendCalcVo.java @@ -0,0 +1,39 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmAttendCalcVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "考勤结果ID") + private Long calcId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "工作日期", width = 20, dateFormat = "yyyy-MM-dd") + private Date workDate; + @Excel(name = "班次ID") + private Long shiftId; + @Excel(name = "状态") + private String status; + @Excel(name = "出勤分钟") + private Integer workMinutes; + @Excel(name = "迟到分钟") + private Integer lateMinutes; + @Excel(name = "早退分钟") + private Integer earlyMinutes; + @Excel(name = "加班分钟") + private Integer otMinutes; + @Excel(name = "请假分钟JSON") + private String leaveMinutesJson; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmCertificateVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmCertificateVo.java new file mode 100644 index 00000000..8c79a89d --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmCertificateVo.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmCertificateVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "证书ID") + private Long certId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "证书名称") + private String certName; + @Excel(name = "证书编号") + private String certNo; + @Excel(name = "颁发机构") + private String issuedBy; + @Excel(name = "有效期开始", width = 20, dateFormat = "yyyy-MM-dd") + private Date validFrom; + @Excel(name = "有效期结束", width = 20, dateFormat = "yyyy-MM-dd") + private Date validTo; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmContractVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmContractVo.java new file mode 100644 index 00000000..7b486e30 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmContractVo.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmContractVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "合同ID") + private Long contractId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "合同编号") + private String contractNo; + @Excel(name = "合同类型") + private String contractType; + @Excel(name = "开始日期", width = 20, dateFormat = "yyyy-MM-dd") + private Date startDate; + @Excel(name = "结束日期", width = 20, dateFormat = "yyyy-MM-dd") + private Date endDate; + @Excel(name = "状态") + private String status; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmEmpOrgPositionVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmEmpOrgPositionVo.java new file mode 100644 index 00000000..079fb19b --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmEmpOrgPositionVo.java @@ -0,0 +1,41 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmEmpOrgPositionVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "关系ID") + private Long relId; + + @Excel(name = "员工ID") + private Long empId; + + @Excel(name = "组织ID") + private Long orgId; + + @Excel(name = "岗位ID") + private Long positionId; + + @Excel(name = "是否主岗") + private Integer isPrimary; + + @Excel(name = "开始日期") + private Date startDate; + + @Excel(name = "结束日期") + private Date endDate; + + @Excel(name = "备注") + private String remark; + + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmEmployeeVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmEmployeeVo.java new file mode 100644 index 00000000..18ad6aac --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmEmployeeVo.java @@ -0,0 +1,62 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmEmployeeVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "员工ID") + private Long empId; + + @Excel(name = "用户ID") + private Long userId; + + @Excel(name = "工号") + private String empNo; + + @Excel(name = "姓名") + private String empName; + + @Excel(name = "性别") + private String gender; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "邮箱") + private String email; + + @Excel(name = "证件号码") + private String idNo; + + @Excel(name = "入职日期") + private Date hireDate; + + @Excel(name = "雇佣类型") + private String employmentType; + + @Excel(name = "在职状态") + private String status; + + @Excel(name = "职级ID") + private Long gradeId; + + @Excel(name = "主组织ID") + private Long mainOrgId; + + @Excel(name = "主岗位ID") + private Long mainPositionId; + + @Excel(name = "备注") + private String remark; + + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowActionVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowActionVo.java new file mode 100644 index 00000000..8208f92a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowActionVo.java @@ -0,0 +1,29 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmFlowActionVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "操作ID") + private Long actionId; + @Excel(name = "任务ID") + private Long taskId; + @Excel(name = "实例ID") + private Long instId; + @Excel(name = "动作") + private String action; + @Excel(name = "说明") + private String remark; + @Excel(name = "操作人") + private Long actionUserId; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowInstanceVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowInstanceVo.java new file mode 100644 index 00000000..e043a5a5 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowInstanceVo.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmFlowInstanceVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "实例ID") + private Long instId; + @Excel(name = "模板ID") + private Long tplId; + @Excel(name = "业务类型") + private String bizType; + @Excel(name = "业务ID") + private Long bizId; + @Excel(name = "状态") + private String status; + @Excel(name = "当前节点ID") + private Long currentNodeId; + @Excel(name = "发起人ID") + private Long startUserId; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowNodeVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowNodeVo.java new file mode 100644 index 00000000..2aba04c4 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowNodeVo.java @@ -0,0 +1,33 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmFlowNodeVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "节点ID") + private Long nodeId; + @Excel(name = "模板ID") + private Long tplId; + @Excel(name = "顺序") + private Integer orderNo; + @Excel(name = "节点类型") + private String nodeType; + @Excel(name = "审批人规则") + private String approverRule; + @Excel(name = "审批人取值") + private String approverValue; + @Excel(name = "字段权限") + private String fieldPerm; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowTaskVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowTaskVo.java new file mode 100644 index 00000000..a2ccdb0c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowTaskVo.java @@ -0,0 +1,31 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmFlowTaskVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "任务ID") + private Long taskId; + @Excel(name = "实例ID") + private Long instId; + @Excel(name = "节点ID") + private Long nodeId; + @Excel(name = "处理人") + private Long assigneeUserId; + @Excel(name = "状态") + private String status; + @Excel(name = "到期时间") + private Date expireTime; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowTemplateVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowTemplateVo.java new file mode 100644 index 00000000..aa06828a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowTemplateVo.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmFlowTemplateVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "模板ID") + private Long tplId; + @Excel(name = "模板编码") + private String tplCode; + @Excel(name = "模板名称") + private String tplName; + @Excel(name = "业务类型") + private String bizType; + @Excel(name = "版本") + private Integer version; + @Excel(name = "是否启用") + private Integer enabled; + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFormDataVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFormDataVo.java new file mode 100644 index 00000000..1864f87c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFormDataVo.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmFormDataVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "表单ID") + private Long formId; + @Excel(name = "业务类型") + private String bizType; + @Excel(name = "业务ID") + private Long bizId; + @Excel(name = "表单内容") + private String contentJson; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmGradeVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmGradeVo.java new file mode 100644 index 00000000..47453cb7 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmGradeVo.java @@ -0,0 +1,32 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmGradeVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "职级ID") + private Long gradeId; + + @Excel(name = "职级编码") + private String gradeCode; + + @Excel(name = "职级名称") + private String gradeName; + + @Excel(name = "层级序号") + private Integer levelNo; + + @Excel(name = "备注") + private String remark; + + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmHeadcountPlanVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmHeadcountPlanVo.java new file mode 100644 index 00000000..10d3b9e8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmHeadcountPlanVo.java @@ -0,0 +1,38 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmHeadcountPlanVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "编制ID") + private Long planId; + + @Excel(name = "组织ID") + private Long orgId; + + @Excel(name = "岗位ID") + private Long positionId; + + @Excel(name = "年份") + private Integer year; + + @Excel(name = "月份") + private Integer month; + + @Excel(name = "编制人数") + private Integer budgetCount; + + @Excel(name = "备注") + private String remark; + + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmLeaveBalanceVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmLeaveBalanceVo.java new file mode 100644 index 00000000..47f9137f --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmLeaveBalanceVo.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class HrmLeaveBalanceVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "余额ID") + private Long balId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "假期类型") + private String leaveType; + @Excel(name = "余额小时") + private BigDecimal balanceHours; + @Excel(name = "到期日", width = 20, dateFormat = "yyyy-MM-dd") + private Date expireDate; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmLeaveReqVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmLeaveReqVo.java new file mode 100644 index 00000000..b0f23424 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmLeaveReqVo.java @@ -0,0 +1,40 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class HrmLeaveReqVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "业务ID") + private Long bizId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "请假类型") + private String leaveType; + @Excel(name = "开始时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + @Excel(name = "结束时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + @Excel(name = "时长(小时)") + private BigDecimal hours; + @Excel(name = "原因") + private String reason; + @Excel(name = "状态") + private String status; + @Excel(name = "申请附件") + private String accessoryApplyIds; + @Excel(name = "回执附件") + private String accessoryReceiptIds; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmOrgVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmOrgVo.java new file mode 100644 index 00000000..c255f64e --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmOrgVo.java @@ -0,0 +1,44 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 组织 VO + */ +@Data +public class HrmOrgVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "组织ID") + private Long orgId; + + @Excel(name = "父级ID") + private Long parentId; + + @Excel(name = "组织编码") + private String orgCode; + + @Excel(name = "组织名称") + private String orgName; + + @Excel(name = "组织类型") + private String orgType; + + @Excel(name = "负责人用户ID") + private Long leaderUserId; + + private Integer orderNum; + + private Integer status; + + private String remark; + + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmOvertimeReqVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmOvertimeReqVo.java new file mode 100644 index 00000000..d67d6017 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmOvertimeReqVo.java @@ -0,0 +1,40 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class HrmOvertimeReqVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "业务ID") + private Long bizId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "加班类型") + private String otType; + @Excel(name = "开始时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + @Excel(name = "结束时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + @Excel(name = "时长(小时)") + private BigDecimal hours; + @Excel(name = "原因") + private String reason; + @Excel(name = "状态") + private String status; + @Excel(name = "申请附件") + private String accessoryApplyIds; + @Excel(name = "回执附件") + private String accessoryReceiptIds; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayPlanVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayPlanVo.java new file mode 100644 index 00000000..aec20d4c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayPlanVo.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class HrmPayPlanVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "方案ID") + private Long planId; + @Excel(name = "方案名称") + private String planName; + @Excel(name = "基础工资") + private BigDecimal baseSalary; + @Excel(name = "津贴配置JSON") + private String allowanceJson; + @Excel(name = "公式配置JSON") + private String formulaJson; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayRunVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayRunVo.java new file mode 100644 index 00000000..e2c61dd5 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayRunVo.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmPayRunVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "批次ID") + private Long runId; + @Excel(name = "核算周期") + private String period; + @Excel(name = "状态") + private String status; + @Excel(name = "方案ID") + private Long planId; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayslipVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayslipVo.java new file mode 100644 index 00000000..3a24e5db --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPayslipVo.java @@ -0,0 +1,34 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class HrmPayslipVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "工资条ID") + private Long slipId; + @Excel(name = "批次ID") + private Long runId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "应发金额") + private BigDecimal amountGross; + @Excel(name = "实发金额") + private BigDecimal amountNet; + @Excel(name = "工资项JSON") + private String itemsJson; + @Excel(name = "状态") + private String status; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPositionVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPositionVo.java new file mode 100644 index 00000000..7b1c3be9 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPositionVo.java @@ -0,0 +1,38 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmPositionVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "岗位ID") + private Long positionId; + + @Excel(name = "岗位编码") + private String positionCode; + + @Excel(name = "岗位名称") + private String positionName; + + @Excel(name = "职级ID") + private Long gradeId; + + @Excel(name = "排序") + private Integer orderNum; + + @Excel(name = "状态") + private Integer status; + + @Excel(name = "备注") + private String remark; + + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPunchVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPunchVo.java new file mode 100644 index 00000000..204e5a35 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmPunchVo.java @@ -0,0 +1,31 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmPunchVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "打卡ID") + private Long punchId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "打卡时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date punchTime; + @Excel(name = "来源") + private String source; + @Excel(name = "位置") + private String location; + @Excel(name = "设备ID") + private String deviceId; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmScheduleVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmScheduleVo.java new file mode 100644 index 00000000..021f2c56 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmScheduleVo.java @@ -0,0 +1,27 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmScheduleVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "排班ID") + private Long schedId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "工作日期", width = 20, dateFormat = "yyyy-MM-dd") + private Date workDate; + @Excel(name = "班次ID") + private Long shiftId; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmSealReqVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmSealReqVo.java new file mode 100644 index 00000000..59db37e5 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmSealReqVo.java @@ -0,0 +1,50 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 用印申请 VO + */ +@Data +public class HrmSealReqVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "业务ID") + private Long bizId; + + @Excel(name = "申请人ID") + private Long empId; + + @Excel(name = "用印类型") + private String sealType; + + @Excel(name = "用途说明") + private String purpose; + + @Excel(name = "申请材料附件ID列表") + private String applyFileIds; + + @Excel(name = "是否需要回执") + private Integer receiptRequired; + + @Excel(name = "回执状态") + private String receiptStatus; + + @Excel(name = "回执附件ID列表") + private String receiptFileIds; + + @Excel(name = "状态") + private String status; + + @Excel(name = "备注") + private String remark; + + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmShiftVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmShiftVo.java new file mode 100644 index 00000000..63691fff --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmShiftVo.java @@ -0,0 +1,34 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalTime; +import java.util.Date; + +@Data +public class HrmShiftVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "班次ID") + private Long shiftId; + @Excel(name = "班次编码") + private String shiftCode; + @Excel(name = "班次名称") + private String shiftName; + @Excel(name = "上班时间") + private LocalTime startTime; + @Excel(name = "下班时间") + private LocalTime endTime; + @Excel(name = "休息分钟") + private Integer breakMinutes; + @Excel(name = "是否夜班") + private Integer isNight; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmStatSnapshotVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmStatSnapshotVo.java new file mode 100644 index 00000000..b1491db4 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmStatSnapshotVo.java @@ -0,0 +1,30 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class HrmStatSnapshotVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "快照ID") + private Long snapId; + @Excel(name = "统计日期", width = 20, dateFormat = "yyyy-MM-dd") + private Date statDate; + @Excel(name = "指标类型") + private String statType; + @Excel(name = "维度JSON") + private String dimJson; + @Excel(name = "数值") + private BigDecimal valueNum; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private Date updateTime; + private String updateBy; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmTravelReqVo.java b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmTravelReqVo.java new file mode 100644 index 00000000..d759b266 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmTravelReqVo.java @@ -0,0 +1,37 @@ +package com.klp.hrm.domain.vo; + +import com.klp.common.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class HrmTravelReqVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "业务ID") + private Long bizId; + @Excel(name = "员工ID") + private Long empId; + @Excel(name = "开始时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + @Excel(name = "结束时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + @Excel(name = "目的地") + private String destination; + @Excel(name = "原因") + private String reason; + @Excel(name = "状态") + private String status; + @Excel(name = "申请附件") + private String accessoryApplyIds; + @Excel(name = "回执附件") + private String accessoryReceiptIds; + @Excel(name = "备注") + private String remark; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmAttendCalcMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmAttendCalcMapper.java new file mode 100644 index 00000000..fcd97bac --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmAttendCalcMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmAttendCalc; +import com.klp.hrm.domain.vo.HrmAttendCalcVo; + +public interface HrmAttendCalcMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmCertificateMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmCertificateMapper.java new file mode 100644 index 00000000..3191a208 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmCertificateMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmCertificate; +import com.klp.hrm.domain.vo.HrmCertificateVo; + +public interface HrmCertificateMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmContractMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmContractMapper.java new file mode 100644 index 00000000..412c5695 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmContractMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmContract; +import com.klp.hrm.domain.vo.HrmContractVo; + +public interface HrmContractMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmEmpOrgPositionMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmEmpOrgPositionMapper.java new file mode 100644 index 00000000..4ba80119 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmEmpOrgPositionMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmEmpOrgPosition; +import com.klp.hrm.domain.vo.HrmEmpOrgPositionVo; + +public interface HrmEmpOrgPositionMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmEmployeeMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmEmployeeMapper.java new file mode 100644 index 00000000..516fcf96 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmEmployeeMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmEmployee; +import com.klp.hrm.domain.vo.HrmEmployeeVo; + +public interface HrmEmployeeMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowActionMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowActionMapper.java new file mode 100644 index 00000000..ceb64531 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowActionMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmFlowAction; +import com.klp.hrm.domain.vo.HrmFlowActionVo; + +public interface HrmFlowActionMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowInstanceMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowInstanceMapper.java new file mode 100644 index 00000000..8739f1a9 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowInstanceMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmFlowInstance; +import com.klp.hrm.domain.vo.HrmFlowInstanceVo; + +public interface HrmFlowInstanceMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowNodeMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowNodeMapper.java new file mode 100644 index 00000000..a9dfe930 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowNodeMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmFlowNode; +import com.klp.hrm.domain.vo.HrmFlowNodeVo; + +public interface HrmFlowNodeMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowTaskMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowTaskMapper.java new file mode 100644 index 00000000..331126b8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowTaskMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmFlowTask; +import com.klp.hrm.domain.vo.HrmFlowTaskVo; + +public interface HrmFlowTaskMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowTemplateMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowTemplateMapper.java new file mode 100644 index 00000000..b144f451 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFlowTemplateMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmFlowTemplate; +import com.klp.hrm.domain.vo.HrmFlowTemplateVo; + +public interface HrmFlowTemplateMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFormDataMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFormDataMapper.java new file mode 100644 index 00000000..de380ac5 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmFormDataMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmFormData; +import com.klp.hrm.domain.vo.HrmFormDataVo; + +public interface HrmFormDataMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmGradeMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmGradeMapper.java new file mode 100644 index 00000000..9a0d8b88 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmGradeMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmGrade; +import com.klp.hrm.domain.vo.HrmGradeVo; + +public interface HrmGradeMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmHeadcountPlanMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmHeadcountPlanMapper.java new file mode 100644 index 00000000..447e01f6 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmHeadcountPlanMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmHeadcountPlan; +import com.klp.hrm.domain.vo.HrmHeadcountPlanVo; + +public interface HrmHeadcountPlanMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmLeaveBalanceMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmLeaveBalanceMapper.java new file mode 100644 index 00000000..8434fd72 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmLeaveBalanceMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmLeaveBalance; +import com.klp.hrm.domain.vo.HrmLeaveBalanceVo; + +public interface HrmLeaveBalanceMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmLeaveReqMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmLeaveReqMapper.java new file mode 100644 index 00000000..560f36dc --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmLeaveReqMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmLeaveReq; +import com.klp.hrm.domain.vo.HrmLeaveReqVo; + +public interface HrmLeaveReqMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmOrgMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmOrgMapper.java new file mode 100644 index 00000000..806d1d17 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmOrgMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmOrg; +import com.klp.hrm.domain.vo.HrmOrgVo; + +public interface HrmOrgMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmOvertimeReqMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmOvertimeReqMapper.java new file mode 100644 index 00000000..ace5bd4b --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmOvertimeReqMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmOvertimeReq; +import com.klp.hrm.domain.vo.HrmOvertimeReqVo; + +public interface HrmOvertimeReqMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayPlanMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayPlanMapper.java new file mode 100644 index 00000000..997562c1 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayPlanMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmPayPlan; +import com.klp.hrm.domain.vo.HrmPayPlanVo; + +public interface HrmPayPlanMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayRunMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayRunMapper.java new file mode 100644 index 00000000..d1d7a7b6 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayRunMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmPayRun; +import com.klp.hrm.domain.vo.HrmPayRunVo; + +public interface HrmPayRunMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayslipMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayslipMapper.java new file mode 100644 index 00000000..0d82a722 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPayslipMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmPayslip; +import com.klp.hrm.domain.vo.HrmPayslipVo; + +public interface HrmPayslipMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPositionMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPositionMapper.java new file mode 100644 index 00000000..7f265d2c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPositionMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmPosition; +import com.klp.hrm.domain.vo.HrmPositionVo; + +public interface HrmPositionMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPunchMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPunchMapper.java new file mode 100644 index 00000000..bd5ae0d4 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmPunchMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmPunch; +import com.klp.hrm.domain.vo.HrmPunchVo; + +public interface HrmPunchMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmScheduleMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmScheduleMapper.java new file mode 100644 index 00000000..c67fc824 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmScheduleMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmSchedule; +import com.klp.hrm.domain.vo.HrmScheduleVo; + +public interface HrmScheduleMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmSealReqMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmSealReqMapper.java new file mode 100644 index 00000000..22fd0c1d --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmSealReqMapper.java @@ -0,0 +1,11 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmSealReq; +import com.klp.hrm.domain.vo.HrmSealReqVo; + +/** + * 用印申请 Mapper + */ +public interface HrmSealReqMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmShiftMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmShiftMapper.java new file mode 100644 index 00000000..8e2f55a0 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmShiftMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmShift; +import com.klp.hrm.domain.vo.HrmShiftVo; + +public interface HrmShiftMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmStatSnapshotMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmStatSnapshotMapper.java new file mode 100644 index 00000000..c04c1ee2 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmStatSnapshotMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmStatSnapshot; +import com.klp.hrm.domain.vo.HrmStatSnapshotVo; + +public interface HrmStatSnapshotMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmTravelReqMapper.java b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmTravelReqMapper.java new file mode 100644 index 00000000..85555d26 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/mapper/HrmTravelReqMapper.java @@ -0,0 +1,8 @@ +package com.klp.hrm.mapper; + +import com.klp.common.core.mapper.BaseMapperPlus; +import com.klp.hrm.domain.HrmTravelReq; +import com.klp.hrm.domain.vo.HrmTravelReqVo; + +public interface HrmTravelReqMapper extends BaseMapperPlus { +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmAttendCalcService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmAttendCalcService.java new file mode 100644 index 00000000..c1caf374 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmAttendCalcService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmAttendCalcBo; +import com.klp.hrm.domain.vo.HrmAttendCalcVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmAttendCalcService { + + HrmAttendCalcVo queryById(Long calcId); + + TableDataInfo queryPageList(HrmAttendCalcBo bo, PageQuery pageQuery); + + List queryList(HrmAttendCalcBo bo); + + Boolean insertByBo(HrmAttendCalcBo bo); + + Boolean updateByBo(HrmAttendCalcBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmCertificateService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmCertificateService.java new file mode 100644 index 00000000..2193a10c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmCertificateService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmCertificateBo; +import com.klp.hrm.domain.vo.HrmCertificateVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmCertificateService { + + HrmCertificateVo queryById(Long certId); + + TableDataInfo queryPageList(HrmCertificateBo bo, PageQuery pageQuery); + + List queryList(HrmCertificateBo bo); + + Boolean insertByBo(HrmCertificateBo bo); + + Boolean updateByBo(HrmCertificateBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmContractService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmContractService.java new file mode 100644 index 00000000..ce1ef7eb --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmContractService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmContractBo; +import com.klp.hrm.domain.vo.HrmContractVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmContractService { + + HrmContractVo queryById(Long contractId); + + TableDataInfo queryPageList(HrmContractBo bo, PageQuery pageQuery); + + List queryList(HrmContractBo bo); + + Boolean insertByBo(HrmContractBo bo); + + Boolean updateByBo(HrmContractBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmEmpOrgPositionService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmEmpOrgPositionService.java new file mode 100644 index 00000000..80c85604 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmEmpOrgPositionService.java @@ -0,0 +1,23 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmEmpOrgPositionBo; +import com.klp.hrm.domain.vo.HrmEmpOrgPositionVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmEmpOrgPositionService { + HrmEmpOrgPositionVo queryById(Long relId); + + TableDataInfo queryPageList(HrmEmpOrgPositionBo bo, PageQuery pageQuery); + + List queryList(HrmEmpOrgPositionBo bo); + + Boolean insertByBo(HrmEmpOrgPositionBo bo); + + Boolean updateByBo(HrmEmpOrgPositionBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmEmployeeService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmEmployeeService.java new file mode 100644 index 00000000..5fa6b5ec --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmEmployeeService.java @@ -0,0 +1,23 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmEmployeeBo; +import com.klp.hrm.domain.vo.HrmEmployeeVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmEmployeeService { + HrmEmployeeVo queryById(Long empId); + + TableDataInfo queryPageList(HrmEmployeeBo bo, PageQuery pageQuery); + + List queryList(HrmEmployeeBo bo); + + Boolean insertByBo(HrmEmployeeBo bo); + + Boolean updateByBo(HrmEmployeeBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowActionService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowActionService.java new file mode 100644 index 00000000..46de369a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowActionService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFlowActionBo; +import com.klp.hrm.domain.vo.HrmFlowActionVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmFlowActionService { + + HrmFlowActionVo queryById(Long actionId); + + TableDataInfo queryPageList(HrmFlowActionBo bo, PageQuery pageQuery); + + List queryList(HrmFlowActionBo bo); + + Boolean insertByBo(HrmFlowActionBo bo); + + Boolean updateByBo(HrmFlowActionBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowInstanceService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowInstanceService.java new file mode 100644 index 00000000..b529c3db --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowInstanceService.java @@ -0,0 +1,29 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFlowInstanceBo; +import com.klp.hrm.domain.vo.HrmFlowInstanceVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmFlowInstanceService { + + HrmFlowInstanceVo queryById(Long instId); + + /** + * 启动实例并生成首个待办 + */ + Long startInstance(com.klp.hrm.domain.bo.HrmFlowStartBo bo); + + TableDataInfo queryPageList(HrmFlowInstanceBo bo, PageQuery pageQuery); + + List queryList(HrmFlowInstanceBo bo); + + Boolean insertByBo(HrmFlowInstanceBo bo); + + Boolean updateByBo(HrmFlowInstanceBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowNodeService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowNodeService.java new file mode 100644 index 00000000..7f3a2282 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowNodeService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFlowNodeBo; +import com.klp.hrm.domain.vo.HrmFlowNodeVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmFlowNodeService { + + HrmFlowNodeVo queryById(Long nodeId); + + TableDataInfo queryPageList(HrmFlowNodeBo bo, PageQuery pageQuery); + + List queryList(HrmFlowNodeBo bo); + + Boolean insertByBo(HrmFlowNodeBo bo); + + Boolean updateByBo(HrmFlowNodeBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowTaskService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowTaskService.java new file mode 100644 index 00000000..534abc2c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowTaskService.java @@ -0,0 +1,39 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFlowTaskBo; +import com.klp.hrm.domain.vo.HrmFlowTaskVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmFlowTaskService { + + HrmFlowTaskVo queryById(Long taskId); + + TableDataInfo queryPageList(HrmFlowTaskBo bo, PageQuery pageQuery); + + List queryList(HrmFlowTaskBo bo); + + Boolean insertByBo(HrmFlowTaskBo bo); + + Boolean updateByBo(HrmFlowTaskBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 审批通过,可附带盖章指令(仅用印业务) + */ + Boolean approve(Long taskId, Long actionUserId, String remark, com.klp.hrm.domain.bo.HrmSealStampBo stampBo); + + /** + * 审批驳回 + */ + Boolean reject(Long taskId, Long actionUserId, String remark); + + /** + * 撤回/取消 + */ + Boolean withdraw(Long taskId, Long actionUserId, String remark); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowTemplateService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowTemplateService.java new file mode 100644 index 00000000..87b0e6d0 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFlowTemplateService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFlowTemplateBo; +import com.klp.hrm.domain.vo.HrmFlowTemplateVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmFlowTemplateService { + + HrmFlowTemplateVo queryById(Long tplId); + + TableDataInfo queryPageList(HrmFlowTemplateBo bo, PageQuery pageQuery); + + List queryList(HrmFlowTemplateBo bo); + + Boolean insertByBo(HrmFlowTemplateBo bo); + + Boolean updateByBo(HrmFlowTemplateBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFormDataService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFormDataService.java new file mode 100644 index 00000000..11401415 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmFormDataService.java @@ -0,0 +1,23 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmFormDataBo; +import com.klp.hrm.domain.vo.HrmFormDataVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmFormDataService { + HrmFormDataVo queryById(Long formId); + + TableDataInfo queryPageList(HrmFormDataBo bo, PageQuery pageQuery); + + List queryList(HrmFormDataBo bo); + + Boolean insertByBo(HrmFormDataBo bo); + + Boolean updateByBo(HrmFormDataBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmGradeService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmGradeService.java new file mode 100644 index 00000000..bd2282a6 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmGradeService.java @@ -0,0 +1,23 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmGradeBo; +import com.klp.hrm.domain.vo.HrmGradeVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmGradeService { + HrmGradeVo queryById(Long gradeId); + + TableDataInfo queryPageList(HrmGradeBo bo, PageQuery pageQuery); + + List queryList(HrmGradeBo bo); + + Boolean insertByBo(HrmGradeBo bo); + + Boolean updateByBo(HrmGradeBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmHeadcountPlanService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmHeadcountPlanService.java new file mode 100644 index 00000000..d34ce7c8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmHeadcountPlanService.java @@ -0,0 +1,23 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmHeadcountPlanBo; +import com.klp.hrm.domain.vo.HrmHeadcountPlanVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmHeadcountPlanService { + HrmHeadcountPlanVo queryById(Long planId); + + TableDataInfo queryPageList(HrmHeadcountPlanBo bo, PageQuery pageQuery); + + List queryList(HrmHeadcountPlanBo bo); + + Boolean insertByBo(HrmHeadcountPlanBo bo); + + Boolean updateByBo(HrmHeadcountPlanBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmLeaveBalanceService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmLeaveBalanceService.java new file mode 100644 index 00000000..10add0ad --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmLeaveBalanceService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmLeaveBalanceBo; +import com.klp.hrm.domain.vo.HrmLeaveBalanceVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmLeaveBalanceService { + + HrmLeaveBalanceVo queryById(Long balId); + + TableDataInfo queryPageList(HrmLeaveBalanceBo bo, PageQuery pageQuery); + + List queryList(HrmLeaveBalanceBo bo); + + Boolean insertByBo(HrmLeaveBalanceBo bo); + + Boolean updateByBo(HrmLeaveBalanceBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmLeaveReqService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmLeaveReqService.java new file mode 100644 index 00000000..c16efc5c --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmLeaveReqService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmLeaveReqBo; +import com.klp.hrm.domain.vo.HrmLeaveReqVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmLeaveReqService { + + HrmLeaveReqVo queryById(Long bizId); + + TableDataInfo queryPageList(HrmLeaveReqBo bo, PageQuery pageQuery); + + List queryList(HrmLeaveReqBo bo); + + Boolean insertByBo(HrmLeaveReqBo bo); + + Boolean updateByBo(HrmLeaveReqBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmOrgService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmOrgService.java new file mode 100644 index 00000000..96eb9af0 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmOrgService.java @@ -0,0 +1,23 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmOrgBo; +import com.klp.hrm.domain.vo.HrmOrgVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmOrgService { + HrmOrgVo queryById(Long orgId); + + TableDataInfo queryPageList(HrmOrgBo bo, PageQuery pageQuery); + + List queryList(HrmOrgBo bo); + + Boolean insertByBo(HrmOrgBo bo); + + Boolean updateByBo(HrmOrgBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmOvertimeReqService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmOvertimeReqService.java new file mode 100644 index 00000000..6f792caf --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmOvertimeReqService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmOvertimeReqBo; +import com.klp.hrm.domain.vo.HrmOvertimeReqVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmOvertimeReqService { + + HrmOvertimeReqVo queryById(Long bizId); + + TableDataInfo queryPageList(HrmOvertimeReqBo bo, PageQuery pageQuery); + + List queryList(HrmOvertimeReqBo bo); + + Boolean insertByBo(HrmOvertimeReqBo bo); + + Boolean updateByBo(HrmOvertimeReqBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayPlanService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayPlanService.java new file mode 100644 index 00000000..d8e29f46 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayPlanService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmPayPlanBo; +import com.klp.hrm.domain.vo.HrmPayPlanVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmPayPlanService { + + HrmPayPlanVo queryById(Long planId); + + TableDataInfo queryPageList(HrmPayPlanBo bo, PageQuery pageQuery); + + List queryList(HrmPayPlanBo bo); + + Boolean insertByBo(HrmPayPlanBo bo); + + Boolean updateByBo(HrmPayPlanBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayRunService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayRunService.java new file mode 100644 index 00000000..03763afc --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayRunService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmPayRunBo; +import com.klp.hrm.domain.vo.HrmPayRunVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmPayRunService { + + HrmPayRunVo queryById(Long runId); + + TableDataInfo queryPageList(HrmPayRunBo bo, PageQuery pageQuery); + + List queryList(HrmPayRunBo bo); + + Boolean insertByBo(HrmPayRunBo bo); + + Boolean updateByBo(HrmPayRunBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayslipService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayslipService.java new file mode 100644 index 00000000..5259e59e --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPayslipService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmPayslipBo; +import com.klp.hrm.domain.vo.HrmPayslipVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmPayslipService { + + HrmPayslipVo queryById(Long slipId); + + TableDataInfo queryPageList(HrmPayslipBo bo, PageQuery pageQuery); + + List queryList(HrmPayslipBo bo); + + Boolean insertByBo(HrmPayslipBo bo); + + Boolean updateByBo(HrmPayslipBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPositionService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPositionService.java new file mode 100644 index 00000000..c9648d0d --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPositionService.java @@ -0,0 +1,23 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmPositionBo; +import com.klp.hrm.domain.vo.HrmPositionVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmPositionService { + HrmPositionVo queryById(Long positionId); + + TableDataInfo queryPageList(HrmPositionBo bo, PageQuery pageQuery); + + List queryList(HrmPositionBo bo); + + Boolean insertByBo(HrmPositionBo bo); + + Boolean updateByBo(HrmPositionBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPunchService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPunchService.java new file mode 100644 index 00000000..c7208ce3 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmPunchService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmPunchBo; +import com.klp.hrm.domain.vo.HrmPunchVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmPunchService { + + HrmPunchVo queryById(Long punchId); + + TableDataInfo queryPageList(HrmPunchBo bo, PageQuery pageQuery); + + List queryList(HrmPunchBo bo); + + Boolean insertByBo(HrmPunchBo bo); + + Boolean updateByBo(HrmPunchBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmScheduleService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmScheduleService.java new file mode 100644 index 00000000..3928b8d6 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmScheduleService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmScheduleBo; +import com.klp.hrm.domain.vo.HrmScheduleVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmScheduleService { + + HrmScheduleVo queryById(Long schedId); + + TableDataInfo queryPageList(HrmScheduleBo bo, PageQuery pageQuery); + + List queryList(HrmScheduleBo bo); + + Boolean insertByBo(HrmScheduleBo bo); + + Boolean updateByBo(HrmScheduleBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmSealReqService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmSealReqService.java new file mode 100644 index 00000000..d0220b0a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmSealReqService.java @@ -0,0 +1,40 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmSealReqBo; +import com.klp.hrm.domain.bo.HrmSealStampBo; +import com.klp.hrm.domain.vo.HrmSealReqVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmSealReqService { + + HrmSealReqVo queryById(Long bizId); + + TableDataInfo queryPageList(HrmSealReqBo bo, PageQuery pageQuery); + + List queryList(HrmSealReqBo bo); + + Boolean insertByBo(HrmSealReqBo bo); + + Boolean updateByBo(HrmSealReqBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 简单状态更新(draft/running/approved/rejected/canceled) + */ + Boolean updateStatus(Long bizId, String status); + + /** + * Java 盖章,返回盖章后文件 URL + */ + String stampWithJava(Long bizId, HrmSealStampBo cmd); + + /** + * Python 盖章占位(调用外部服务) + */ + String stampWithPython(Long bizId, HrmSealStampBo cmd); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmShiftService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmShiftService.java new file mode 100644 index 00000000..5bee12ca --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmShiftService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmShiftBo; +import com.klp.hrm.domain.vo.HrmShiftVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmShiftService { + + HrmShiftVo queryById(Long shiftId); + + TableDataInfo queryPageList(HrmShiftBo bo, PageQuery pageQuery); + + List queryList(HrmShiftBo bo); + + Boolean insertByBo(HrmShiftBo bo); + + Boolean updateByBo(HrmShiftBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmStatSnapshotService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmStatSnapshotService.java new file mode 100644 index 00000000..e917ccd8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmStatSnapshotService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmStatSnapshotBo; +import com.klp.hrm.domain.vo.HrmStatSnapshotVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmStatSnapshotService { + + HrmStatSnapshotVo queryById(Long snapId); + + TableDataInfo queryPageList(HrmStatSnapshotBo bo, PageQuery pageQuery); + + List queryList(HrmStatSnapshotBo bo); + + Boolean insertByBo(HrmStatSnapshotBo bo); + + Boolean updateByBo(HrmStatSnapshotBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/IHrmTravelReqService.java b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmTravelReqService.java new file mode 100644 index 00000000..e6a16f3b --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/IHrmTravelReqService.java @@ -0,0 +1,24 @@ +package com.klp.hrm.service; + +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.bo.HrmTravelReqBo; +import com.klp.hrm.domain.vo.HrmTravelReqVo; + +import java.util.Collection; +import java.util.List; + +public interface IHrmTravelReqService { + + HrmTravelReqVo queryById(Long bizId); + + TableDataInfo queryPageList(HrmTravelReqBo bo, PageQuery pageQuery); + + List queryList(HrmTravelReqBo bo); + + Boolean insertByBo(HrmTravelReqBo bo); + + Boolean updateByBo(HrmTravelReqBo bo); + + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmAttendCalcServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmAttendCalcServiceImpl.java new file mode 100644 index 00000000..aa10ef33 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmAttendCalcServiceImpl.java @@ -0,0 +1,73 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmAttendCalc; +import com.klp.hrm.domain.bo.HrmAttendCalcBo; +import com.klp.hrm.domain.vo.HrmAttendCalcVo; +import com.klp.hrm.mapper.HrmAttendCalcMapper; +import com.klp.hrm.service.IHrmAttendCalcService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmAttendCalcServiceImpl implements IHrmAttendCalcService { + + private final HrmAttendCalcMapper baseMapper; + + @Override + public HrmAttendCalcVo queryById(Long calcId) { + return baseMapper.selectVoById(calcId); + } + + @Override + public TableDataInfo queryPageList(HrmAttendCalcBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmAttendCalcBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmAttendCalcBo bo) { + HrmAttendCalc add = BeanUtil.toBean(bo, HrmAttendCalc.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmAttendCalcBo bo) { + HrmAttendCalc update = BeanUtil.toBean(bo, HrmAttendCalc.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmAttendCalcBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getCalcId() != null, HrmAttendCalc::getCalcId, bo.getCalcId()); + lqw.eq(bo.getEmpId() != null, HrmAttendCalc::getEmpId, bo.getEmpId()); + lqw.eq(bo.getWorkDate() != null, HrmAttendCalc::getWorkDate, bo.getWorkDate()); + lqw.eq(bo.getShiftId() != null, HrmAttendCalc::getShiftId, bo.getShiftId()); + lqw.eq(bo.getStatus() != null, HrmAttendCalc::getStatus, bo.getStatus()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmCertificateServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmCertificateServiceImpl.java new file mode 100644 index 00000000..b03e5f22 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmCertificateServiceImpl.java @@ -0,0 +1,73 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmCertificate; +import com.klp.hrm.domain.bo.HrmCertificateBo; +import com.klp.hrm.domain.vo.HrmCertificateVo; +import com.klp.hrm.mapper.HrmCertificateMapper; +import com.klp.hrm.service.IHrmCertificateService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmCertificateServiceImpl implements IHrmCertificateService { + + private final HrmCertificateMapper baseMapper; + + @Override + public HrmCertificateVo queryById(Long certId) { + return baseMapper.selectVoById(certId); + } + + @Override + public TableDataInfo queryPageList(HrmCertificateBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmCertificateBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmCertificateBo bo) { + HrmCertificate add = BeanUtil.toBean(bo, HrmCertificate.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmCertificateBo bo) { + HrmCertificate update = BeanUtil.toBean(bo, HrmCertificate.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmCertificateBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getCertId() != null, HrmCertificate::getCertId, bo.getCertId()); + lqw.eq(bo.getEmpId() != null, HrmCertificate::getEmpId, bo.getEmpId()); + lqw.like(bo.getCertName() != null, HrmCertificate::getCertName, bo.getCertName()); + lqw.like(bo.getCertNo() != null, HrmCertificate::getCertNo, bo.getCertNo()); + lqw.eq(bo.getIssuedBy() != null, HrmCertificate::getIssuedBy, bo.getIssuedBy()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmContractServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmContractServiceImpl.java new file mode 100644 index 00000000..3de55a66 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmContractServiceImpl.java @@ -0,0 +1,73 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmContract; +import com.klp.hrm.domain.bo.HrmContractBo; +import com.klp.hrm.domain.vo.HrmContractVo; +import com.klp.hrm.mapper.HrmContractMapper; +import com.klp.hrm.service.IHrmContractService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmContractServiceImpl implements IHrmContractService { + + private final HrmContractMapper baseMapper; + + @Override + public HrmContractVo queryById(Long contractId) { + return baseMapper.selectVoById(contractId); + } + + @Override + public TableDataInfo queryPageList(HrmContractBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmContractBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmContractBo bo) { + HrmContract add = BeanUtil.toBean(bo, HrmContract.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmContractBo bo) { + HrmContract update = BeanUtil.toBean(bo, HrmContract.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmContractBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getContractId() != null, HrmContract::getContractId, bo.getContractId()); + lqw.eq(bo.getEmpId() != null, HrmContract::getEmpId, bo.getEmpId()); + lqw.like(bo.getContractNo() != null, HrmContract::getContractNo, bo.getContractNo()); + lqw.eq(bo.getContractType() != null, HrmContract::getContractType, bo.getContractType()); + lqw.eq(bo.getStatus() != null, HrmContract::getStatus, bo.getStatus()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmEmpOrgPositionServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmEmpOrgPositionServiceImpl.java new file mode 100644 index 00000000..97ee2603 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmEmpOrgPositionServiceImpl.java @@ -0,0 +1,73 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmEmpOrgPosition; +import com.klp.hrm.domain.bo.HrmEmpOrgPositionBo; +import com.klp.hrm.domain.vo.HrmEmpOrgPositionVo; +import com.klp.hrm.mapper.HrmEmpOrgPositionMapper; +import com.klp.hrm.service.IHrmEmpOrgPositionService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmEmpOrgPositionServiceImpl implements IHrmEmpOrgPositionService { + + private final HrmEmpOrgPositionMapper baseMapper; + + @Override + public HrmEmpOrgPositionVo queryById(Long relId) { + return baseMapper.selectVoById(relId); + } + + @Override + public TableDataInfo queryPageList(HrmEmpOrgPositionBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmEmpOrgPositionBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmEmpOrgPositionBo bo) { + HrmEmpOrgPosition add = BeanUtil.toBean(bo, HrmEmpOrgPosition.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmEmpOrgPositionBo bo) { + HrmEmpOrgPosition update = BeanUtil.toBean(bo, HrmEmpOrgPosition.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmEmpOrgPositionBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getRelId() != null, HrmEmpOrgPosition::getRelId, bo.getRelId()); + lqw.eq(bo.getEmpId() != null, HrmEmpOrgPosition::getEmpId, bo.getEmpId()); + lqw.eq(bo.getOrgId() != null, HrmEmpOrgPosition::getOrgId, bo.getOrgId()); + lqw.eq(bo.getPositionId() != null, HrmEmpOrgPosition::getPositionId, bo.getPositionId()); + lqw.eq(bo.getIsPrimary() != null, HrmEmpOrgPosition::getIsPrimary, bo.getIsPrimary()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmEmployeeServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmEmployeeServiceImpl.java new file mode 100644 index 00000000..03bb78fc --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmEmployeeServiceImpl.java @@ -0,0 +1,75 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmEmployee; +import com.klp.hrm.domain.bo.HrmEmployeeBo; +import com.klp.hrm.domain.vo.HrmEmployeeVo; +import com.klp.hrm.mapper.HrmEmployeeMapper; +import com.klp.hrm.service.IHrmEmployeeService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmEmployeeServiceImpl implements IHrmEmployeeService { + + private final HrmEmployeeMapper baseMapper; + + @Override + public HrmEmployeeVo queryById(Long empId) { + return baseMapper.selectVoById(empId); + } + + @Override + public TableDataInfo queryPageList(HrmEmployeeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmEmployeeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmEmployeeBo bo) { + HrmEmployee add = BeanUtil.toBean(bo, HrmEmployee.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmEmployeeBo bo) { + HrmEmployee update = BeanUtil.toBean(bo, HrmEmployee.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmEmployeeBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getEmpId() != null, HrmEmployee::getEmpId, bo.getEmpId()); + lqw.like(bo.getEmpNo() != null, HrmEmployee::getEmpNo, bo.getEmpNo()); + lqw.like(bo.getEmpName() != null, HrmEmployee::getEmpName, bo.getEmpName()); + lqw.eq(bo.getStatus() != null, HrmEmployee::getStatus, bo.getStatus()); + lqw.eq(bo.getMainOrgId() != null, HrmEmployee::getMainOrgId, bo.getMainOrgId()); + lqw.eq(bo.getMainPositionId() != null, HrmEmployee::getMainPositionId, bo.getMainPositionId()); + lqw.orderByAsc(HrmEmployee::getEmpNo); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowActionServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowActionServiceImpl.java new file mode 100644 index 00000000..c0271597 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowActionServiceImpl.java @@ -0,0 +1,73 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmFlowAction; +import com.klp.hrm.domain.bo.HrmFlowActionBo; +import com.klp.hrm.domain.vo.HrmFlowActionVo; +import com.klp.hrm.mapper.HrmFlowActionMapper; +import com.klp.hrm.service.IHrmFlowActionService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmFlowActionServiceImpl implements IHrmFlowActionService { + + private final HrmFlowActionMapper baseMapper; + + @Override + public HrmFlowActionVo queryById(Long actionId) { + return baseMapper.selectVoById(actionId); + } + + @Override + public TableDataInfo queryPageList(HrmFlowActionBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmFlowActionBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmFlowActionBo bo) { + HrmFlowAction add = BeanUtil.toBean(bo, HrmFlowAction.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmFlowActionBo bo) { + HrmFlowAction update = BeanUtil.toBean(bo, HrmFlowAction.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmFlowActionBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getActionId() != null, HrmFlowAction::getActionId, bo.getActionId()); + lqw.eq(bo.getTaskId() != null, HrmFlowAction::getTaskId, bo.getTaskId()); + lqw.eq(bo.getInstId() != null, HrmFlowAction::getInstId, bo.getInstId()); + lqw.eq(bo.getAction() != null, HrmFlowAction::getAction, bo.getAction()); + lqw.eq(bo.getActionUserId() != null, HrmFlowAction::getActionUserId, bo.getActionUserId()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowInstanceServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowInstanceServiceImpl.java new file mode 100644 index 00000000..7ba23bcb --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowInstanceServiceImpl.java @@ -0,0 +1,125 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmFlowInstance; +import com.klp.hrm.domain.HrmFlowNode; +import com.klp.hrm.domain.HrmFlowTask; +import com.klp.hrm.domain.HrmFormData; +import com.klp.hrm.domain.bo.HrmFlowStartBo; +import com.klp.hrm.domain.bo.HrmFlowInstanceBo; +import com.klp.hrm.domain.vo.HrmFlowInstanceVo; +import com.klp.hrm.mapper.HrmFlowInstanceMapper; +import com.klp.hrm.mapper.HrmFlowNodeMapper; +import com.klp.hrm.mapper.HrmFlowTaskMapper; +import com.klp.hrm.mapper.HrmFormDataMapper; +import com.klp.hrm.service.IHrmFlowInstanceService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; +import java.util.Objects; + +@RequiredArgsConstructor +@Service +public class HrmFlowInstanceServiceImpl implements IHrmFlowInstanceService { + + private final HrmFlowInstanceMapper baseMapper; + private final HrmFlowNodeMapper nodeMapper; + private final HrmFlowTaskMapper taskMapper; + private final HrmFormDataMapper formDataMapper; + + @Override + public HrmFlowInstanceVo queryById(Long instId) { + return baseMapper.selectVoById(instId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Long startInstance(HrmFlowStartBo bo) { + // 找首节点 + HrmFlowNode firstNode = nodeMapper.selectOne(Wrappers.lambdaQuery() + .eq(HrmFlowNode::getTplId, bo.getTplId()) + .orderByAsc(HrmFlowNode::getOrderNo) + .last("limit 1")); + if (firstNode == null) { + throw new RuntimeException("流程模板无节点,无法启动"); + } + // 创建实例 + HrmFlowInstance inst = new HrmFlowInstance(); + inst.setTplId(bo.getTplId()); + inst.setBizType(bo.getBizType()); + inst.setBizId(bo.getBizId()); + inst.setStatus("running"); + inst.setCurrentNodeId(firstNode.getNodeId()); + inst.setStartUserId(bo.getStartUserId()); + baseMapper.insert(inst); + + // 保存表单 + if (bo.getContentJson() != null) { + HrmFormData form = new HrmFormData(); + form.setBizType(bo.getBizType()); + form.setBizId(bo.getBizId()); + form.setContentJson(bo.getContentJson()); + formDataMapper.insert(form); + } + + // 创建首个待办 + HrmFlowTask task = new HrmFlowTask(); + task.setInstId(inst.getInstId()); + task.setNodeId(firstNode.getNodeId()); + task.setAssigneeUserId(Objects.requireNonNullElse(bo.getStartUserId(), 0L)); + task.setStatus("pending"); + taskMapper.insert(task); + + return inst.getInstId(); + } + + @Override + public TableDataInfo queryPageList(HrmFlowInstanceBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmFlowInstanceBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmFlowInstanceBo bo) { + HrmFlowInstance add = BeanUtil.toBean(bo, HrmFlowInstance.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmFlowInstanceBo bo) { + HrmFlowInstance update = BeanUtil.toBean(bo, HrmFlowInstance.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmFlowInstanceBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getInstId() != null, HrmFlowInstance::getInstId, bo.getInstId()); + lqw.eq(bo.getTplId() != null, HrmFlowInstance::getTplId, bo.getTplId()); + lqw.eq(bo.getBizType() != null, HrmFlowInstance::getBizType, bo.getBizType()); + lqw.eq(bo.getBizId() != null, HrmFlowInstance::getBizId, bo.getBizId()); + lqw.eq(bo.getStatus() != null, HrmFlowInstance::getStatus, bo.getStatus()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowNodeServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowNodeServiceImpl.java new file mode 100644 index 00000000..7d3ad1bc --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowNodeServiceImpl.java @@ -0,0 +1,73 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmFlowNode; +import com.klp.hrm.domain.bo.HrmFlowNodeBo; +import com.klp.hrm.domain.vo.HrmFlowNodeVo; +import com.klp.hrm.mapper.HrmFlowNodeMapper; +import com.klp.hrm.service.IHrmFlowNodeService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmFlowNodeServiceImpl implements IHrmFlowNodeService { + + private final HrmFlowNodeMapper baseMapper; + + @Override + public HrmFlowNodeVo queryById(Long nodeId) { + return baseMapper.selectVoById(nodeId); + } + + @Override + public TableDataInfo queryPageList(HrmFlowNodeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmFlowNodeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmFlowNodeBo bo) { + HrmFlowNode add = BeanUtil.toBean(bo, HrmFlowNode.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmFlowNodeBo bo) { + HrmFlowNode update = BeanUtil.toBean(bo, HrmFlowNode.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmFlowNodeBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getNodeId() != null, HrmFlowNode::getNodeId, bo.getNodeId()); + lqw.eq(bo.getTplId() != null, HrmFlowNode::getTplId, bo.getTplId()); + lqw.eq(bo.getOrderNo() != null, HrmFlowNode::getOrderNo, bo.getOrderNo()); + lqw.eq(bo.getNodeType() != null, HrmFlowNode::getNodeType, bo.getNodeType()); + lqw.eq(bo.getApproverRule() != null, HrmFlowNode::getApproverRule, bo.getApproverRule()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowTaskServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowTaskServiceImpl.java new file mode 100644 index 00000000..db2889a3 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowTaskServiceImpl.java @@ -0,0 +1,202 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmFlowTask; +import com.klp.hrm.domain.HrmFlowAction; +import com.klp.hrm.domain.HrmFlowInstance; +import com.klp.hrm.domain.HrmFlowNode; +import com.klp.hrm.domain.bo.HrmFlowTaskBo; +import com.klp.hrm.domain.bo.HrmSealStampBo; +import com.klp.hrm.domain.vo.HrmFlowTaskVo; +import com.klp.hrm.mapper.HrmFlowActionMapper; +import com.klp.hrm.mapper.HrmFlowInstanceMapper; +import com.klp.hrm.mapper.HrmFlowNodeMapper; +import com.klp.hrm.mapper.HrmFlowTaskMapper; +import com.klp.hrm.service.IHrmFlowTaskService; +import com.klp.hrm.service.IHrmSealReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.List; +import java.util.Objects; + +@RequiredArgsConstructor +@Service +public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService { + + private final HrmFlowTaskMapper baseMapper; + private final HrmFlowActionMapper actionMapper; + private final HrmFlowInstanceMapper instanceMapper; + private final HrmFlowNodeMapper nodeMapper; + private final IHrmSealReqService sealReqService; + + @Override + public HrmFlowTaskVo queryById(Long taskId) { + return baseMapper.selectVoById(taskId); + } + + @Override + public TableDataInfo queryPageList(HrmFlowTaskBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmFlowTaskBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmFlowTaskBo bo) { + HrmFlowTask add = BeanUtil.toBean(bo, HrmFlowTask.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmFlowTaskBo bo) { + HrmFlowTask update = BeanUtil.toBean(bo, HrmFlowTask.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean approve(Long taskId, Long actionUserId, String remark, HrmSealStampBo stampBo) { + HrmFlowTask task = baseMapper.selectById(taskId); + if (task == null) { + return false; + } + HrmFlowInstance inst = instanceMapper.selectById(task.getInstId()); + if (inst == null) { + return false; + } + HrmFlowNode currentNode = nodeMapper.selectById(task.getNodeId()); + if (currentNode == null) { + return false; + } + // 记录动作 + saveAction(taskId, inst.getInstId(), "approve", remark, actionUserId); + // 完成当前任务 + task.setStatus("approved"); + baseMapper.updateById(task); + + // 查找下一节点 + HrmFlowNode next = nodeMapper.selectOne(Wrappers.lambdaQuery() + .eq(HrmFlowNode::getTplId, inst.getTplId()) + .gt(HrmFlowNode::getOrderNo, currentNode.getOrderNo()) + .orderByAsc(HrmFlowNode::getOrderNo) + .last("limit 1")); + if (next != null) { + inst.setCurrentNodeId(next.getNodeId()); + inst.setStatus("running"); + instanceMapper.updateById(inst); + HrmFlowTask nextTask = new HrmFlowTask(); + nextTask.setInstId(inst.getInstId()); + nextTask.setNodeId(next.getNodeId()); + nextTask.setAssigneeUserId(Objects.requireNonNullElse(actionUserId, 0L)); + nextTask.setStatus("pending"); + baseMapper.insert(nextTask); + } else { + // 末节点通过 + inst.setStatus("approved"); + inst.setCurrentNodeId(null); + instanceMapper.updateById(inst); + // 若业务为用印,更新用印状态为已批准 + if ("seal".equalsIgnoreCase(inst.getBizType())) { + sealReqService.updateStatus(inst.getBizId(), "approved"); + if (stampBo != null) { + sealReqService.stampWithJava(inst.getBizId(), stampBo); + } + } + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean reject(Long taskId, Long actionUserId, String remark) { + HrmFlowTask task = baseMapper.selectById(taskId); + if (task == null) { + return false; + } + HrmFlowInstance inst = instanceMapper.selectById(task.getInstId()); + if (inst == null) { + return false; + } + saveAction(taskId, inst.getInstId(), "reject", remark, actionUserId); + task.setStatus("rejected"); + baseMapper.updateById(task); + inst.setStatus("rejected"); + instanceMapper.updateById(inst); + if ("seal".equalsIgnoreCase(inst.getBizType())) { + sealReqService.updateStatus(inst.getBizId(), "rejected"); + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean withdraw(Long taskId, Long actionUserId, String remark) { + HrmFlowTask task = baseMapper.selectById(taskId); + if (task == null) { + return false; + } + HrmFlowInstance inst = instanceMapper.selectById(task.getInstId()); + if (inst == null) { + return false; + } + saveAction(taskId, inst.getInstId(), "withdraw", remark, actionUserId); + task.setStatus("withdraw"); + baseMapper.updateById(task); + // 撤回后重新生成当前节点待办,实例回到running + inst.setStatus("running"); + instanceMapper.updateById(inst); + HrmFlowTask reTask = new HrmFlowTask(); + reTask.setInstId(inst.getInstId()); + reTask.setNodeId(task.getNodeId()); + reTask.setAssigneeUserId(Objects.requireNonNullElse(actionUserId, task.getAssigneeUserId())); + reTask.setStatus("pending"); + baseMapper.insert(reTask); + if ("seal".equalsIgnoreCase(inst.getBizType())) { + sealReqService.updateStatus(inst.getBizId(), "running"); + } + return true; + } + + private void saveAction(Long taskId, Long instId, String action, String remark, Long userId) { + HrmFlowAction log = new HrmFlowAction(); + log.setTaskId(taskId); + log.setInstId(instId); + log.setAction(action); + log.setRemark(remark); + log.setActionUserId(userId); + log.setCreateTime(LocalDateTime.now()); + actionMapper.insert(log); + } + + private LambdaQueryWrapper buildQueryWrapper(HrmFlowTaskBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getTaskId() != null, HrmFlowTask::getTaskId, bo.getTaskId()); + lqw.eq(bo.getInstId() != null, HrmFlowTask::getInstId, bo.getInstId()); + lqw.eq(bo.getNodeId() != null, HrmFlowTask::getNodeId, bo.getNodeId()); + lqw.eq(bo.getAssigneeUserId() != null, HrmFlowTask::getAssigneeUserId, bo.getAssigneeUserId()); + lqw.eq(bo.getStatus() != null, HrmFlowTask::getStatus, bo.getStatus()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowTemplateServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowTemplateServiceImpl.java new file mode 100644 index 00000000..e683e26d --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFlowTemplateServiceImpl.java @@ -0,0 +1,74 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmFlowTemplate; +import com.klp.hrm.domain.bo.HrmFlowTemplateBo; +import com.klp.hrm.domain.vo.HrmFlowTemplateVo; +import com.klp.hrm.mapper.HrmFlowTemplateMapper; +import com.klp.hrm.service.IHrmFlowTemplateService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmFlowTemplateServiceImpl implements IHrmFlowTemplateService { + + private final HrmFlowTemplateMapper baseMapper; + + @Override + public HrmFlowTemplateVo queryById(Long tplId) { + return baseMapper.selectVoById(tplId); + } + + @Override + public TableDataInfo queryPageList(HrmFlowTemplateBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmFlowTemplateBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmFlowTemplateBo bo) { + HrmFlowTemplate add = BeanUtil.toBean(bo, HrmFlowTemplate.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmFlowTemplateBo bo) { + HrmFlowTemplate update = BeanUtil.toBean(bo, HrmFlowTemplate.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmFlowTemplateBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getTplId() != null, HrmFlowTemplate::getTplId, bo.getTplId()); + lqw.like(bo.getTplCode() != null, HrmFlowTemplate::getTplCode, bo.getTplCode()); + lqw.like(bo.getTplName() != null, HrmFlowTemplate::getTplName, bo.getTplName()); + lqw.eq(bo.getBizType() != null, HrmFlowTemplate::getBizType, bo.getBizType()); + lqw.eq(bo.getVersion() != null, HrmFlowTemplate::getVersion, bo.getVersion()); + lqw.eq(bo.getEnabled() != null, HrmFlowTemplate::getEnabled, bo.getEnabled()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFormDataServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFormDataServiceImpl.java new file mode 100644 index 00000000..bfda3924 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmFormDataServiceImpl.java @@ -0,0 +1,71 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmFormData; +import com.klp.hrm.domain.bo.HrmFormDataBo; +import com.klp.hrm.domain.vo.HrmFormDataVo; +import com.klp.hrm.mapper.HrmFormDataMapper; +import com.klp.hrm.service.IHrmFormDataService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmFormDataServiceImpl implements IHrmFormDataService { + + private final HrmFormDataMapper baseMapper; + + @Override + public HrmFormDataVo queryById(Long formId) { + return baseMapper.selectVoById(formId); + } + + @Override + public TableDataInfo queryPageList(HrmFormDataBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmFormDataBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmFormDataBo bo) { + HrmFormData add = BeanUtil.toBean(bo, HrmFormData.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmFormDataBo bo) { + HrmFormData update = BeanUtil.toBean(bo, HrmFormData.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmFormDataBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getFormId() != null, HrmFormData::getFormId, bo.getFormId()); + lqw.eq(bo.getBizType() != null, HrmFormData::getBizType, bo.getBizType()); + lqw.eq(bo.getBizId() != null, HrmFormData::getBizId, bo.getBizId()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmGradeServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmGradeServiceImpl.java new file mode 100644 index 00000000..8ad6a44a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmGradeServiceImpl.java @@ -0,0 +1,72 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmGrade; +import com.klp.hrm.domain.bo.HrmGradeBo; +import com.klp.hrm.domain.vo.HrmGradeVo; +import com.klp.hrm.mapper.HrmGradeMapper; +import com.klp.hrm.service.IHrmGradeService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmGradeServiceImpl implements IHrmGradeService { + + private final HrmGradeMapper baseMapper; + + @Override + public HrmGradeVo queryById(Long gradeId) { + return baseMapper.selectVoById(gradeId); + } + + @Override + public TableDataInfo queryPageList(HrmGradeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmGradeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmGradeBo bo) { + HrmGrade add = BeanUtil.toBean(bo, HrmGrade.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmGradeBo bo) { + HrmGrade update = BeanUtil.toBean(bo, HrmGrade.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmGradeBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getGradeId() != null, HrmGrade::getGradeId, bo.getGradeId()); + lqw.like(bo.getGradeCode() != null, HrmGrade::getGradeCode, bo.getGradeCode()); + lqw.like(bo.getGradeName() != null, HrmGrade::getGradeName, bo.getGradeName()); + lqw.orderByAsc(HrmGrade::getLevelNo); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmHeadcountPlanServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmHeadcountPlanServiceImpl.java new file mode 100644 index 00000000..2619fff4 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmHeadcountPlanServiceImpl.java @@ -0,0 +1,74 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmHeadcountPlan; +import com.klp.hrm.domain.bo.HrmHeadcountPlanBo; +import com.klp.hrm.domain.vo.HrmHeadcountPlanVo; +import com.klp.hrm.mapper.HrmHeadcountPlanMapper; +import com.klp.hrm.service.IHrmHeadcountPlanService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmHeadcountPlanServiceImpl implements IHrmHeadcountPlanService { + + private final HrmHeadcountPlanMapper baseMapper; + + @Override + public HrmHeadcountPlanVo queryById(Long planId) { + return baseMapper.selectVoById(planId); + } + + @Override + public TableDataInfo queryPageList(HrmHeadcountPlanBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmHeadcountPlanBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmHeadcountPlanBo bo) { + HrmHeadcountPlan add = BeanUtil.toBean(bo, HrmHeadcountPlan.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmHeadcountPlanBo bo) { + HrmHeadcountPlan update = BeanUtil.toBean(bo, HrmHeadcountPlan.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmHeadcountPlanBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPlanId() != null, HrmHeadcountPlan::getPlanId, bo.getPlanId()); + lqw.eq(bo.getOrgId() != null, HrmHeadcountPlan::getOrgId, bo.getOrgId()); + lqw.eq(bo.getPositionId() != null, HrmHeadcountPlan::getPositionId, bo.getPositionId()); + lqw.eq(bo.getYear() != null, HrmHeadcountPlan::getYear, bo.getYear()); + lqw.eq(bo.getMonth() != null, HrmHeadcountPlan::getMonth, bo.getMonth()); + lqw.orderByDesc(HrmHeadcountPlan::getYear).orderByDesc(HrmHeadcountPlan::getMonth); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmLeaveBalanceServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmLeaveBalanceServiceImpl.java new file mode 100644 index 00000000..75f0e7c7 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmLeaveBalanceServiceImpl.java @@ -0,0 +1,72 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmLeaveBalance; +import com.klp.hrm.domain.bo.HrmLeaveBalanceBo; +import com.klp.hrm.domain.vo.HrmLeaveBalanceVo; +import com.klp.hrm.mapper.HrmLeaveBalanceMapper; +import com.klp.hrm.service.IHrmLeaveBalanceService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmLeaveBalanceServiceImpl implements IHrmLeaveBalanceService { + + private final HrmLeaveBalanceMapper baseMapper; + + @Override + public HrmLeaveBalanceVo queryById(Long balId) { + return baseMapper.selectVoById(balId); + } + + @Override + public TableDataInfo queryPageList(HrmLeaveBalanceBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmLeaveBalanceBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmLeaveBalanceBo bo) { + HrmLeaveBalance add = BeanUtil.toBean(bo, HrmLeaveBalance.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmLeaveBalanceBo bo) { + HrmLeaveBalance update = BeanUtil.toBean(bo, HrmLeaveBalance.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmLeaveBalanceBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getBalId() != null, HrmLeaveBalance::getBalId, bo.getBalId()); + lqw.eq(bo.getEmpId() != null, HrmLeaveBalance::getEmpId, bo.getEmpId()); + lqw.eq(bo.getLeaveType() != null, HrmLeaveBalance::getLeaveType, bo.getLeaveType()); + lqw.eq(bo.getExpireDate() != null, HrmLeaveBalance::getExpireDate, bo.getExpireDate()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmLeaveReqServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmLeaveReqServiceImpl.java new file mode 100644 index 00000000..99608d55 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmLeaveReqServiceImpl.java @@ -0,0 +1,78 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmLeaveReq; +import com.klp.hrm.domain.bo.HrmLeaveReqBo; +import com.klp.hrm.domain.vo.HrmLeaveReqVo; +import com.klp.hrm.mapper.HrmLeaveReqMapper; +import com.klp.hrm.service.IHrmLeaveReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmLeaveReqServiceImpl implements IHrmLeaveReqService { + + private final HrmLeaveReqMapper baseMapper; + + @Override + public HrmLeaveReqVo queryById(Long bizId) { + return baseMapper.selectVoById(bizId); + } + + @Override + public TableDataInfo queryPageList(HrmLeaveReqBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmLeaveReqBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmLeaveReqBo bo) { + HrmLeaveReq add = BeanUtil.toBean(bo, HrmLeaveReq.class); + add.setStatus(defaultStatus(add.getStatus())); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmLeaveReqBo bo) { + HrmLeaveReq update = BeanUtil.toBean(bo, HrmLeaveReq.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmLeaveReqBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getBizId() != null, HrmLeaveReq::getBizId, bo.getBizId()); + lqw.eq(bo.getEmpId() != null, HrmLeaveReq::getEmpId, bo.getEmpId()); + lqw.eq(bo.getLeaveType() != null, HrmLeaveReq::getLeaveType, bo.getLeaveType()); + lqw.eq(bo.getStatus() != null, HrmLeaveReq::getStatus, bo.getStatus()); + lqw.eq(bo.getStartTime() != null, HrmLeaveReq::getStartTime, bo.getStartTime()); + return lqw; + } + + private String defaultStatus(String status) { + return status == null ? "draft" : status; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmOrgServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmOrgServiceImpl.java new file mode 100644 index 00000000..a0dcd907 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmOrgServiceImpl.java @@ -0,0 +1,82 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmOrg; +import com.klp.hrm.domain.bo.HrmOrgBo; +import com.klp.hrm.domain.vo.HrmOrgVo; +import com.klp.hrm.mapper.HrmOrgMapper; +import com.klp.hrm.service.IHrmOrgService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmOrgServiceImpl implements IHrmOrgService { + + private final HrmOrgMapper baseMapper; + + @Override + public HrmOrgVo queryById(Long orgId) { + return baseMapper.selectVoById(orgId); + } + + @Override + public TableDataInfo queryPageList(HrmOrgBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmOrgBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmOrgBo bo) { + HrmOrg add = BeanUtil.toBean(bo, HrmOrg.class); + validEntityBeforeSave(add); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmOrgBo bo) { + HrmOrg update = BeanUtil.toBean(bo, HrmOrg.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + // 可按需添加校验 + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmOrgBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getOrgId() != null, HrmOrg::getOrgId, bo.getOrgId()); + lqw.eq(bo.getParentId() != null, HrmOrg::getParentId, bo.getParentId()); + lqw.like(bo.getOrgCode() != null, HrmOrg::getOrgCode, bo.getOrgCode()); + lqw.like(bo.getOrgName() != null, HrmOrg::getOrgName, bo.getOrgName()); + lqw.eq(bo.getOrgType() != null, HrmOrg::getOrgType, bo.getOrgType()); + lqw.eq(bo.getStatus() != null, HrmOrg::getStatus, bo.getStatus()); + lqw.orderByAsc(HrmOrg::getParentId).orderByAsc(HrmOrg::getOrderNum); + return lqw; + } + + private void validEntityBeforeSave(HrmOrg entity) { + // 可添加唯一性校验: org_code + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmOvertimeReqServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmOvertimeReqServiceImpl.java new file mode 100644 index 00000000..7c17c198 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmOvertimeReqServiceImpl.java @@ -0,0 +1,78 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmOvertimeReq; +import com.klp.hrm.domain.bo.HrmOvertimeReqBo; +import com.klp.hrm.domain.vo.HrmOvertimeReqVo; +import com.klp.hrm.mapper.HrmOvertimeReqMapper; +import com.klp.hrm.service.IHrmOvertimeReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmOvertimeReqServiceImpl implements IHrmOvertimeReqService { + + private final HrmOvertimeReqMapper baseMapper; + + @Override + public HrmOvertimeReqVo queryById(Long bizId) { + return baseMapper.selectVoById(bizId); + } + + @Override + public TableDataInfo queryPageList(HrmOvertimeReqBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmOvertimeReqBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmOvertimeReqBo bo) { + HrmOvertimeReq add = BeanUtil.toBean(bo, HrmOvertimeReq.class); + add.setStatus(defaultStatus(add.getStatus())); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmOvertimeReqBo bo) { + HrmOvertimeReq update = BeanUtil.toBean(bo, HrmOvertimeReq.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmOvertimeReqBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getBizId() != null, HrmOvertimeReq::getBizId, bo.getBizId()); + lqw.eq(bo.getEmpId() != null, HrmOvertimeReq::getEmpId, bo.getEmpId()); + lqw.eq(bo.getOtType() != null, HrmOvertimeReq::getOtType, bo.getOtType()); + lqw.eq(bo.getStatus() != null, HrmOvertimeReq::getStatus, bo.getStatus()); + lqw.eq(bo.getStartTime() != null, HrmOvertimeReq::getStartTime, bo.getStartTime()); + return lqw; + } + + private String defaultStatus(String status) { + return status == null ? "draft" : status; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayPlanServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayPlanServiceImpl.java new file mode 100644 index 00000000..6ed01020 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayPlanServiceImpl.java @@ -0,0 +1,70 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmPayPlan; +import com.klp.hrm.domain.bo.HrmPayPlanBo; +import com.klp.hrm.domain.vo.HrmPayPlanVo; +import com.klp.hrm.mapper.HrmPayPlanMapper; +import com.klp.hrm.service.IHrmPayPlanService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmPayPlanServiceImpl implements IHrmPayPlanService { + + private final HrmPayPlanMapper baseMapper; + + @Override + public HrmPayPlanVo queryById(Long planId) { + return baseMapper.selectVoById(planId); + } + + @Override + public TableDataInfo queryPageList(HrmPayPlanBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmPayPlanBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmPayPlanBo bo) { + HrmPayPlan add = BeanUtil.toBean(bo, HrmPayPlan.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmPayPlanBo bo) { + HrmPayPlan update = BeanUtil.toBean(bo, HrmPayPlan.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmPayPlanBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPlanId() != null, HrmPayPlan::getPlanId, bo.getPlanId()); + lqw.like(bo.getPlanName() != null, HrmPayPlan::getPlanName, bo.getPlanName()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayRunServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayRunServiceImpl.java new file mode 100644 index 00000000..b2b4d6dc --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayRunServiceImpl.java @@ -0,0 +1,72 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmPayRun; +import com.klp.hrm.domain.bo.HrmPayRunBo; +import com.klp.hrm.domain.vo.HrmPayRunVo; +import com.klp.hrm.mapper.HrmPayRunMapper; +import com.klp.hrm.service.IHrmPayRunService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmPayRunServiceImpl implements IHrmPayRunService { + + private final HrmPayRunMapper baseMapper; + + @Override + public HrmPayRunVo queryById(Long runId) { + return baseMapper.selectVoById(runId); + } + + @Override + public TableDataInfo queryPageList(HrmPayRunBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmPayRunBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmPayRunBo bo) { + HrmPayRun add = BeanUtil.toBean(bo, HrmPayRun.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmPayRunBo bo) { + HrmPayRun update = BeanUtil.toBean(bo, HrmPayRun.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmPayRunBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getRunId() != null, HrmPayRun::getRunId, bo.getRunId()); + lqw.like(bo.getPeriod() != null, HrmPayRun::getPeriod, bo.getPeriod()); + lqw.eq(bo.getStatus() != null, HrmPayRun::getStatus, bo.getStatus()); + lqw.eq(bo.getPlanId() != null, HrmPayRun::getPlanId, bo.getPlanId()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayslipServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayslipServiceImpl.java new file mode 100644 index 00000000..9adc4956 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPayslipServiceImpl.java @@ -0,0 +1,77 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmPayslip; +import com.klp.hrm.domain.bo.HrmPayslipBo; +import com.klp.hrm.domain.vo.HrmPayslipVo; +import com.klp.hrm.mapper.HrmPayslipMapper; +import com.klp.hrm.service.IHrmPayslipService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmPayslipServiceImpl implements IHrmPayslipService { + + private final HrmPayslipMapper baseMapper; + + @Override + public HrmPayslipVo queryById(Long slipId) { + return baseMapper.selectVoById(slipId); + } + + @Override + public TableDataInfo queryPageList(HrmPayslipBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmPayslipBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmPayslipBo bo) { + HrmPayslip add = BeanUtil.toBean(bo, HrmPayslip.class); + add.setStatus(defaultStatus(add.getStatus())); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmPayslipBo bo) { + HrmPayslip update = BeanUtil.toBean(bo, HrmPayslip.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmPayslipBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getSlipId() != null, HrmPayslip::getSlipId, bo.getSlipId()); + lqw.eq(bo.getRunId() != null, HrmPayslip::getRunId, bo.getRunId()); + lqw.eq(bo.getEmpId() != null, HrmPayslip::getEmpId, bo.getEmpId()); + lqw.eq(bo.getStatus() != null, HrmPayslip::getStatus, bo.getStatus()); + return lqw; + } + + private String defaultStatus(String status) { + return status == null ? "issued" : status; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPositionServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPositionServiceImpl.java new file mode 100644 index 00000000..ab3c799a --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPositionServiceImpl.java @@ -0,0 +1,74 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmPosition; +import com.klp.hrm.domain.bo.HrmPositionBo; +import com.klp.hrm.domain.vo.HrmPositionVo; +import com.klp.hrm.mapper.HrmPositionMapper; +import com.klp.hrm.service.IHrmPositionService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmPositionServiceImpl implements IHrmPositionService { + + private final HrmPositionMapper baseMapper; + + @Override + public HrmPositionVo queryById(Long positionId) { + return baseMapper.selectVoById(positionId); + } + + @Override + public TableDataInfo queryPageList(HrmPositionBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmPositionBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmPositionBo bo) { + HrmPosition add = BeanUtil.toBean(bo, HrmPosition.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmPositionBo bo) { + HrmPosition update = BeanUtil.toBean(bo, HrmPosition.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmPositionBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPositionId() != null, HrmPosition::getPositionId, bo.getPositionId()); + lqw.like(bo.getPositionCode() != null, HrmPosition::getPositionCode, bo.getPositionCode()); + lqw.like(bo.getPositionName() != null, HrmPosition::getPositionName, bo.getPositionName()); + lqw.eq(bo.getGradeId() != null, HrmPosition::getGradeId, bo.getGradeId()); + lqw.eq(bo.getStatus() != null, HrmPosition::getStatus, bo.getStatus()); + lqw.orderByAsc(HrmPosition::getOrderNum); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPunchServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPunchServiceImpl.java new file mode 100644 index 00000000..fa5f8429 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmPunchServiceImpl.java @@ -0,0 +1,72 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmPunch; +import com.klp.hrm.domain.bo.HrmPunchBo; +import com.klp.hrm.domain.vo.HrmPunchVo; +import com.klp.hrm.mapper.HrmPunchMapper; +import com.klp.hrm.service.IHrmPunchService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmPunchServiceImpl implements IHrmPunchService { + + private final HrmPunchMapper baseMapper; + + @Override + public HrmPunchVo queryById(Long punchId) { + return baseMapper.selectVoById(punchId); + } + + @Override + public TableDataInfo queryPageList(HrmPunchBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmPunchBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmPunchBo bo) { + HrmPunch add = BeanUtil.toBean(bo, HrmPunch.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmPunchBo bo) { + HrmPunch update = BeanUtil.toBean(bo, HrmPunch.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmPunchBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPunchId() != null, HrmPunch::getPunchId, bo.getPunchId()); + lqw.eq(bo.getEmpId() != null, HrmPunch::getEmpId, bo.getEmpId()); + lqw.eq(bo.getPunchTime() != null, HrmPunch::getPunchTime, bo.getPunchTime()); + lqw.eq(bo.getSource() != null, HrmPunch::getSource, bo.getSource()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmScheduleServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmScheduleServiceImpl.java new file mode 100644 index 00000000..f7284df8 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmScheduleServiceImpl.java @@ -0,0 +1,72 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmSchedule; +import com.klp.hrm.domain.bo.HrmScheduleBo; +import com.klp.hrm.domain.vo.HrmScheduleVo; +import com.klp.hrm.mapper.HrmScheduleMapper; +import com.klp.hrm.service.IHrmScheduleService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmScheduleServiceImpl implements IHrmScheduleService { + + private final HrmScheduleMapper baseMapper; + + @Override + public HrmScheduleVo queryById(Long schedId) { + return baseMapper.selectVoById(schedId); + } + + @Override + public TableDataInfo queryPageList(HrmScheduleBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmScheduleBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmScheduleBo bo) { + HrmSchedule add = BeanUtil.toBean(bo, HrmSchedule.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmScheduleBo bo) { + HrmSchedule update = BeanUtil.toBean(bo, HrmSchedule.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmScheduleBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getSchedId() != null, HrmSchedule::getSchedId, bo.getSchedId()); + lqw.eq(bo.getEmpId() != null, HrmSchedule::getEmpId, bo.getEmpId()); + lqw.eq(bo.getWorkDate() != null, HrmSchedule::getWorkDate, bo.getWorkDate()); + lqw.eq(bo.getShiftId() != null, HrmSchedule::getShiftId, bo.getShiftId()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmSealReqServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmSealReqServiceImpl.java new file mode 100644 index 00000000..f7834942 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmSealReqServiceImpl.java @@ -0,0 +1,212 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.io.IoUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.exception.ServiceException; +import com.klp.hrm.config.StampProperties; +import com.klp.hrm.domain.HrmSealReq; +import com.klp.hrm.domain.bo.HrmSealReqBo; +import com.klp.hrm.domain.bo.HrmSealStampBo; +import com.klp.hrm.domain.bo.HrmFlowStartBo; +import com.klp.hrm.domain.vo.HrmSealReqVo; +import com.klp.hrm.mapper.HrmSealReqMapper; +import com.klp.hrm.service.IHrmFlowInstanceService; +import com.klp.hrm.service.IHrmSealReqService; +import com.klp.oss.core.OssClient; +import com.klp.oss.entity.UploadResult; +import com.klp.oss.factory.OssFactory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDPageContentStream; +import org.apache.pdfbox.pdmodel.common.PDRectangle; +import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.util.Collection; +import java.util.List; + +/** + * 用印申请 服务实现 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class HrmSealReqServiceImpl implements IHrmSealReqService { + + private final HrmSealReqMapper baseMapper; + private final StampProperties stampProperties; + private final IHrmFlowInstanceService flowInstanceService; + + @Override + public HrmSealReqVo queryById(Long bizId) { + return baseMapper.selectVoById(bizId); + } + + @Override + public TableDataInfo queryPageList(HrmSealReqBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmSealReqBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmSealReqBo bo) { + HrmSealReq add = BeanUtil.toBean(bo, HrmSealReq.class); + add.setStatus(defaultStatus(add.getStatus())); + validEntityBeforeSave(add); + boolean ok = baseMapper.insert(add) > 0; + // 提交即发起流程(可选) + if (ok && bo.getFlowTplId() != null) { + HrmFlowStartBo start = new HrmFlowStartBo(); + start.setTplId(bo.getFlowTplId()); + start.setBizType("seal"); + start.setBizId(add.getBizId()); + start.setStartUserId(bo.getStartUserId()); + start.setContentJson(bo.getContentJson()); + flowInstanceService.startInstance(start); + // 更新状态为流转中 + updateStatus(add.getBizId(), "running"); + } + return ok; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmSealReqBo bo) { + if (bo.getBizId() == null) { + throw new ServiceException("bizId不能为空"); + } + HrmSealReq update = BeanUtil.toBean(bo, HrmSealReq.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + // 可添加业务校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateStatus(Long bizId, String status) { + HrmSealReq req = new HrmSealReq(); + req.setBizId(bizId); + req.setStatus(status); + return baseMapper.updateById(req) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String stampWithJava(Long bizId, HrmSealStampBo cmd) { + if (!Boolean.TRUE.equals(stampProperties.getJavaService().getEnabled())) { + throw new ServiceException("Java盖章未启用"); + } + String resultUrl = doPdfStamp(cmd); + // 更新回执状态/附件占位 + HrmSealReq update = new HrmSealReq(); + update.setBizId(bizId); + update.setReceiptStatus("done"); + update.setReceiptFileIds(resultUrl); + baseMapper.updateById(update); + return resultUrl; + } + + @Override + public String stampWithPython(Long bizId, HrmSealStampBo cmd) { + if (!Boolean.TRUE.equals(stampProperties.getPythonService().isEnabled())) { + throw new ServiceException("Python盖章未启用"); + } + // TODO: 调用外部Python服务(用户未提供接口,保留占位) + throw new ServiceException("Python盖章接口未实现"); + } + + private LambdaQueryWrapper buildQueryWrapper(HrmSealReqBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getBizId() != null, HrmSealReq::getBizId, bo.getBizId()); + lqw.eq(bo.getEmpId() != null, HrmSealReq::getEmpId, bo.getEmpId()); + lqw.eq(bo.getSealType() != null, HrmSealReq::getSealType, bo.getSealType()); + lqw.eq(bo.getStatus() != null, HrmSealReq::getStatus, bo.getStatus()); + lqw.orderByDesc(HrmSealReq::getCreateTime); + return lqw; + } + + private void validEntityBeforeSave(HrmSealReq entity) { + // 预留数据校验,如唯一约束 + } + + private String defaultStatus(String status) { + return status == null ? "draft" : status; + } + + private String doPdfStamp(HrmSealStampBo cmd) { + try (InputStream pdfIn = getObject(cmd.getTargetFileUrl()); + InputStream imgIn = getObject(cmd.getStampImageUrl()); + PDDocument document = PDDocument.load(pdfIn); + ByteArrayOutputStream bos = new ByteArrayOutputStream()) { + + int pageIndex = cmd.getPageNo() - 1; + if (pageIndex < 0 || pageIndex >= document.getNumberOfPages()) { + throw new ServiceException("页码超出范围"); + } + PDPage page = document.getPage(pageIndex); + PDRectangle mediaBox = page.getMediaBox(); + + byte[] imgBytes = IoUtil.readBytes(imgIn); + PDImageXObject image = PDImageXObject.createFromByteArray(document, imgBytes, "stamp"); + + float width = cmd.getWidthPx() != null ? cmd.getWidthPx() : image.getWidth(); + float height = cmd.getHeightPx() != null ? cmd.getHeightPx() : image.getHeight(); + float x = cmd.getXPx(); + float y = cmd.getYPx(); + + // 保证不越界 + if (x + width > mediaBox.getWidth()) { + width = mediaBox.getWidth() - x; + } + if (y + height > mediaBox.getHeight()) { + height = mediaBox.getHeight() - y; + } + + try (PDPageContentStream contentStream = new PDPageContentStream(document, page, + PDPageContentStream.AppendMode.APPEND, true, true)) { + contentStream.drawImage(image, x, y, width, height); + } + + document.save(bos); + + OssClient storage = OssFactory.instance(); + UploadResult uploadResult = storage.uploadSuffix(bos.toByteArray(), ".pdf", "application/pdf"); + return uploadResult.getUrl(); + } catch (ServiceException se) { + throw se; + } catch (Exception e) { + log.error("PDF盖章失败", e); + throw new ServiceException("PDF盖章失败: " + e.getMessage()); + } + } + + private InputStream getObject(String url) { + OssClient storage = OssFactory.instance(); + return storage.getObjectContent(url); + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmShiftServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmShiftServiceImpl.java new file mode 100644 index 00000000..84553933 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmShiftServiceImpl.java @@ -0,0 +1,72 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmShift; +import com.klp.hrm.domain.bo.HrmShiftBo; +import com.klp.hrm.domain.vo.HrmShiftVo; +import com.klp.hrm.mapper.HrmShiftMapper; +import com.klp.hrm.service.IHrmShiftService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmShiftServiceImpl implements IHrmShiftService { + + private final HrmShiftMapper baseMapper; + + @Override + public HrmShiftVo queryById(Long shiftId) { + return baseMapper.selectVoById(shiftId); + } + + @Override + public TableDataInfo queryPageList(HrmShiftBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmShiftBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmShiftBo bo) { + HrmShift add = BeanUtil.toBean(bo, HrmShift.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmShiftBo bo) { + HrmShift update = BeanUtil.toBean(bo, HrmShift.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmShiftBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getShiftId() != null, HrmShift::getShiftId, bo.getShiftId()); + lqw.like(bo.getShiftCode() != null, HrmShift::getShiftCode, bo.getShiftCode()); + lqw.like(bo.getShiftName() != null, HrmShift::getShiftName, bo.getShiftName()); + lqw.eq(bo.getIsNight() != null, HrmShift::getIsNight, bo.getIsNight()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmStatSnapshotServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmStatSnapshotServiceImpl.java new file mode 100644 index 00000000..82128e39 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmStatSnapshotServiceImpl.java @@ -0,0 +1,71 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmStatSnapshot; +import com.klp.hrm.domain.bo.HrmStatSnapshotBo; +import com.klp.hrm.domain.vo.HrmStatSnapshotVo; +import com.klp.hrm.mapper.HrmStatSnapshotMapper; +import com.klp.hrm.service.IHrmStatSnapshotService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmStatSnapshotServiceImpl implements IHrmStatSnapshotService { + + private final HrmStatSnapshotMapper baseMapper; + + @Override + public HrmStatSnapshotVo queryById(Long snapId) { + return baseMapper.selectVoById(snapId); + } + + @Override + public TableDataInfo queryPageList(HrmStatSnapshotBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmStatSnapshotBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmStatSnapshotBo bo) { + HrmStatSnapshot add = BeanUtil.toBean(bo, HrmStatSnapshot.class); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmStatSnapshotBo bo) { + HrmStatSnapshot update = BeanUtil.toBean(bo, HrmStatSnapshot.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmStatSnapshotBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getSnapId() != null, HrmStatSnapshot::getSnapId, bo.getSnapId()); + lqw.eq(bo.getStatDate() != null, HrmStatSnapshot::getStatDate, bo.getStatDate()); + lqw.eq(bo.getStatType() != null, HrmStatSnapshot::getStatType, bo.getStatType()); + return lqw; + } +} diff --git a/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmTravelReqServiceImpl.java b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmTravelReqServiceImpl.java new file mode 100644 index 00000000..b4a289b3 --- /dev/null +++ b/klp-hrm/src/main/java/com/klp/hrm/service/impl/HrmTravelReqServiceImpl.java @@ -0,0 +1,77 @@ +package com.klp.hrm.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.page.TableDataInfo; +import com.klp.hrm.domain.HrmTravelReq; +import com.klp.hrm.domain.bo.HrmTravelReqBo; +import com.klp.hrm.domain.vo.HrmTravelReqVo; +import com.klp.hrm.mapper.HrmTravelReqMapper; +import com.klp.hrm.service.IHrmTravelReqService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +@RequiredArgsConstructor +@Service +public class HrmTravelReqServiceImpl implements IHrmTravelReqService { + + private final HrmTravelReqMapper baseMapper; + + @Override + public HrmTravelReqVo queryById(Long bizId) { + return baseMapper.selectVoById(bizId); + } + + @Override + public TableDataInfo queryPageList(HrmTravelReqBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + @Override + public List queryList(HrmTravelReqBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(HrmTravelReqBo bo) { + HrmTravelReq add = BeanUtil.toBean(bo, HrmTravelReq.class); + add.setStatus(defaultStatus(add.getStatus())); + return baseMapper.insert(add) > 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(HrmTravelReqBo bo) { + HrmTravelReq update = BeanUtil.toBean(bo, HrmTravelReq.class); + return baseMapper.updateById(update) > 0; + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; + } + + private LambdaQueryWrapper buildQueryWrapper(HrmTravelReqBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getBizId() != null, HrmTravelReq::getBizId, bo.getBizId()); + lqw.eq(bo.getEmpId() != null, HrmTravelReq::getEmpId, bo.getEmpId()); + lqw.eq(bo.getStatus() != null, HrmTravelReq::getStatus, bo.getStatus()); + lqw.eq(bo.getStartTime() != null, HrmTravelReq::getStartTime, bo.getStartTime()); + return lqw; + } + + private String defaultStatus(String status) { + return status == null ? "draft" : status; + } +} diff --git a/klp-hrm/src/main/resources/mapper/HrmAttendCalcMapper.xml b/klp-hrm/src/main/resources/mapper/HrmAttendCalcMapper.xml new file mode 100644 index 00000000..5157c966 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmAttendCalcMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmCertificateMapper.xml b/klp-hrm/src/main/resources/mapper/HrmCertificateMapper.xml new file mode 100644 index 00000000..ae3aa4f8 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmCertificateMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmContractMapper.xml b/klp-hrm/src/main/resources/mapper/HrmContractMapper.xml new file mode 100644 index 00000000..693d2842 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmContractMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmEmpOrgPositionMapper.xml b/klp-hrm/src/main/resources/mapper/HrmEmpOrgPositionMapper.xml new file mode 100644 index 00000000..fa93db7c --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmEmpOrgPositionMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmEmployeeMapper.xml b/klp-hrm/src/main/resources/mapper/HrmEmployeeMapper.xml new file mode 100644 index 00000000..79407e6a --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmEmployeeMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmFlowActionMapper.xml b/klp-hrm/src/main/resources/mapper/HrmFlowActionMapper.xml new file mode 100644 index 00000000..5572b0a6 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmFlowActionMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmFlowInstanceMapper.xml b/klp-hrm/src/main/resources/mapper/HrmFlowInstanceMapper.xml new file mode 100644 index 00000000..30e409b1 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmFlowInstanceMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmFlowNodeMapper.xml b/klp-hrm/src/main/resources/mapper/HrmFlowNodeMapper.xml new file mode 100644 index 00000000..ace80a6f --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmFlowNodeMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmFlowTaskMapper.xml b/klp-hrm/src/main/resources/mapper/HrmFlowTaskMapper.xml new file mode 100644 index 00000000..d8632c15 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmFlowTaskMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmFlowTemplateMapper.xml b/klp-hrm/src/main/resources/mapper/HrmFlowTemplateMapper.xml new file mode 100644 index 00000000..2b84d6a9 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmFlowTemplateMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmFormDataMapper.xml b/klp-hrm/src/main/resources/mapper/HrmFormDataMapper.xml new file mode 100644 index 00000000..8181e229 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmFormDataMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmGradeMapper.xml b/klp-hrm/src/main/resources/mapper/HrmGradeMapper.xml new file mode 100644 index 00000000..5c38f599 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmGradeMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmHeadcountPlanMapper.xml b/klp-hrm/src/main/resources/mapper/HrmHeadcountPlanMapper.xml new file mode 100644 index 00000000..026bd16a --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmHeadcountPlanMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmLeaveBalanceMapper.xml b/klp-hrm/src/main/resources/mapper/HrmLeaveBalanceMapper.xml new file mode 100644 index 00000000..11ece520 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmLeaveBalanceMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmLeaveReqMapper.xml b/klp-hrm/src/main/resources/mapper/HrmLeaveReqMapper.xml new file mode 100644 index 00000000..69ea58e4 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmLeaveReqMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmOrgMapper.xml b/klp-hrm/src/main/resources/mapper/HrmOrgMapper.xml new file mode 100644 index 00000000..113ab66c --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmOrgMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmOvertimeReqMapper.xml b/klp-hrm/src/main/resources/mapper/HrmOvertimeReqMapper.xml new file mode 100644 index 00000000..cf38395d --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmOvertimeReqMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmPayPlanMapper.xml b/klp-hrm/src/main/resources/mapper/HrmPayPlanMapper.xml new file mode 100644 index 00000000..6360ae4c --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmPayPlanMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmPayRunMapper.xml b/klp-hrm/src/main/resources/mapper/HrmPayRunMapper.xml new file mode 100644 index 00000000..0082e679 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmPayRunMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmPayslipMapper.xml b/klp-hrm/src/main/resources/mapper/HrmPayslipMapper.xml new file mode 100644 index 00000000..3deb42cd --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmPayslipMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmPositionMapper.xml b/klp-hrm/src/main/resources/mapper/HrmPositionMapper.xml new file mode 100644 index 00000000..a5f0143a --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmPositionMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmPunchMapper.xml b/klp-hrm/src/main/resources/mapper/HrmPunchMapper.xml new file mode 100644 index 00000000..90c012be --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmPunchMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmScheduleMapper.xml b/klp-hrm/src/main/resources/mapper/HrmScheduleMapper.xml new file mode 100644 index 00000000..4e463a9c --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmScheduleMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmSealReqMapper.xml b/klp-hrm/src/main/resources/mapper/HrmSealReqMapper.xml new file mode 100644 index 00000000..ab02a73b --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmSealReqMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmShiftMapper.xml b/klp-hrm/src/main/resources/mapper/HrmShiftMapper.xml new file mode 100644 index 00000000..f07519df --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmShiftMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmStatSnapshotMapper.xml b/klp-hrm/src/main/resources/mapper/HrmStatSnapshotMapper.xml new file mode 100644 index 00000000..2e0b8ea9 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmStatSnapshotMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/klp-hrm/src/main/resources/mapper/HrmTravelReqMapper.xml b/klp-hrm/src/main/resources/mapper/HrmTravelReqMapper.xml new file mode 100644 index 00000000..66f4cbb6 --- /dev/null +++ b/klp-hrm/src/main/resources/mapper/HrmTravelReqMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + +