1、培训申请
parent
3739eb9d40
commit
a0ddf27ccd
|
|
@ -0,0 +1,87 @@
|
|||
package com.zcloud.edu.web.training;
|
||||
|
||||
|
||||
import com.zcloud.edu.api.training.TrainingApplyProcessServiceI;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
/**
|
||||
* web-adapter
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:01
|
||||
*/
|
||||
@Api(tags = "培训申请审批流程表")
|
||||
@RequestMapping("/${application.gateway}/trainingApplyProcess")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessController {
|
||||
private final TrainingApplyProcessServiceI trainingApplyProcessService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<TrainingApplyProcessCO> add(@Validated @RequestBody TrainingApplyProcessAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return trainingApplyProcessService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<TrainingApplyProcessCO> page(@RequestBody TrainingApplyProcessPageQry qry) {
|
||||
return trainingApplyProcessService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("审批流程图")
|
||||
@PostMapping("/processDiagram")
|
||||
public MultiResponse<TrainingApplyProcessNodeCO> getProcessDiagramByRecordId(@RequestBody TrainingApplyProcessPageQry qry) {
|
||||
return MultiResponse.of(trainingApplyProcessService.getProcessDiagramByRecordId(qry));
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<TrainingApplyProcessCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<TrainingApplyProcessCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<TrainingApplyProcessCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new TrainingApplyProcessCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
trainingApplyProcessService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
trainingApplyProcessService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody TrainingApplyProcessUpdateCmd trainingApplyProcessUpdateCmd) {
|
||||
trainingApplyProcessService.edit(trainingApplyProcessUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
package com.zcloud.edu.web.training;
|
||||
|
||||
|
||||
import com.zcloud.edu.api.training.TrainingApplyRecordServiceI;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
/**
|
||||
* web-adapter
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:47
|
||||
*/
|
||||
@Api(tags = "培训申请记录")
|
||||
@RequestMapping("/${application.gateway}/trainingApplyRecord")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordController {
|
||||
private final TrainingApplyRecordServiceI trainingApplyRecordService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<TrainingApplyRecordCO> add(@Validated @RequestBody TrainingApplyRecordAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return trainingApplyRecordService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<TrainingApplyRecordCO> page(@RequestBody TrainingApplyRecordPageQry qry) {
|
||||
return trainingApplyRecordService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<TrainingApplyRecordCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<TrainingApplyRecordCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<TrainingApplyRecordCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return trainingApplyRecordService.getInfoById(id);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
trainingApplyRecordService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
trainingApplyRecordService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) {
|
||||
trainingApplyRecordService.edit(trainingApplyRecordUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("审批培训申请")
|
||||
@PostMapping("/approve")
|
||||
public SingleResponse approve(@Validated @RequestBody TrainingApplyRecordUpdateCmd cmd) {
|
||||
trainingApplyRecordService.approve(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
package com.zcloud.edu.web.training;
|
||||
|
||||
|
||||
import com.zcloud.edu.api.training.TrainingApplyUserServiceI;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
/**
|
||||
* web-adapter
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:33
|
||||
*/
|
||||
@Api(tags = "培训申请人员")
|
||||
@RequestMapping("/${application.gateway}/trainingApplyUser")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserController {
|
||||
private final TrainingApplyUserServiceI trainingApplyUserService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<TrainingApplyUserCO> add(@Validated @RequestBody TrainingApplyUserAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return trainingApplyUserService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<TrainingApplyUserCO> page(@RequestBody TrainingApplyUserPageQry qry) {
|
||||
return trainingApplyUserService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<TrainingApplyUserCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<TrainingApplyUserCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<TrainingApplyUserCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new TrainingApplyUserCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
trainingApplyUserService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
trainingApplyUserService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody TrainingApplyUserUpdateCmd trainingApplyUserUpdateCmd) {
|
||||
trainingApplyUserService.edit(trainingApplyUserUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
package com.zcloud.edu.web.training;
|
||||
|
||||
|
||||
import com.zcloud.edu.api.training.TrainingUserServiceI;
|
||||
import com.zcloud.edu.dto.training.TrainingUserAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingUserPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingUserUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingUserCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
/**
|
||||
* web-adapter
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:01
|
||||
*/
|
||||
@Api(tags = "培训人员")
|
||||
@RequestMapping("/${application.gateway}/trainingUser")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserController {
|
||||
private final TrainingUserServiceI trainingUserService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<TrainingUserCO> add(@Validated @RequestBody TrainingUserAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return trainingUserService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<TrainingUserCO> page(@RequestBody TrainingUserPageQry qry) {
|
||||
return trainingUserService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<TrainingUserCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<TrainingUserCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<TrainingUserCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new TrainingUserCO());
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
trainingUserService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
trainingUserService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody TrainingUserUpdateCmd trainingUserUpdateCmd) {
|
||||
trainingUserService.edit(trainingUserUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.edu.command.convertor.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:01
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface TrainingApplyProcessCoConvertor {
|
||||
/**
|
||||
* @param trainingApplyProcessDOs
|
||||
* @return
|
||||
*/
|
||||
List<TrainingApplyProcessCO> converDOsToCOs(List<TrainingApplyProcessDO> trainingApplyProcessDOs);
|
||||
|
||||
List<TrainingApplyProcessNodeCO> converEsToCOs(List<TrainingApplyProcessNodeE> trainingApplyProcessNodeES);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.zcloud.edu.command.convertor.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyRecordE;
|
||||
import com.zcloud.edu.dto.clientobject.training.ApproveDetailCO;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:47
|
||||
*/
|
||||
@Mapper(componentModel = "spring", uses = {TrainingApplyUserCoConvertor.class})
|
||||
public interface TrainingApplyRecordCoConvertor {
|
||||
/**
|
||||
* @param trainingApplyRecordDOs
|
||||
* @return
|
||||
*/
|
||||
List<TrainingApplyRecordCO> converDOsToCOs(List<TrainingApplyRecordDO> trainingApplyRecordDOs);
|
||||
|
||||
|
||||
TrainingApplyRecordCO converDOToCO(TrainingApplyRecordDO trainingApplyRecordDO);
|
||||
|
||||
TrainingApplyRecordCO converEToCO(TrainingApplyRecordE trainingApplyRecordE);
|
||||
|
||||
TrainingApplyRecordE converDetailDOToE(com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE trainingApplyRecordDO);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.zcloud.edu.command.convertor.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:34
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface TrainingApplyUserCoConvertor {
|
||||
/**
|
||||
* @param trainingApplyUserDOs
|
||||
* @return
|
||||
*/
|
||||
List<TrainingApplyUserCO> converDOsToCOs(List<TrainingApplyUserDO> trainingApplyUserDOs);
|
||||
|
||||
List<TrainingApplyUserE> converDOsToEs(List<TrainingApplyUserDO> trainingApplyUserDOs);
|
||||
|
||||
List<TrainingApplyUserCO> converEsToCOs(List<TrainingApplyUserE> trainingApplyUserEs);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.zcloud.edu.command.convertor.training;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingUserCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingUserDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:02
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface TrainingUserCoConvertor {
|
||||
/**
|
||||
* @param trainingUserDOs
|
||||
* @return
|
||||
*/
|
||||
List<TrainingUserCO> converDOsToCOs(List<TrainingUserDO> trainingUserDOs);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
package com.zcloud.edu.command.query.training;
|
||||
|
||||
import com.zcloud.edu.command.convertor.training.TrainingApplyProcessCoConvertor;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:03
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessQueryExe {
|
||||
private final TrainingApplyProcessRepository trainingApplyProcessRepository;
|
||||
private final TrainingApplyProcessCoConvertor trainingApplyProcessCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param trainingApplyProcessPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<TrainingApplyProcessCO> execute(TrainingApplyProcessPageQry trainingApplyProcessPageQry) {
|
||||
Map<String,Object> params = PageQueryHelper.toHashMap(trainingApplyProcessPageQry);
|
||||
PageResponse<TrainingApplyProcessDO> pageResponse = trainingApplyProcessRepository.listPage(params);
|
||||
List<TrainingApplyProcessCO> examCenterCOS = trainingApplyProcessCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
|
||||
public List<TrainingApplyProcessNodeCO> getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) {
|
||||
List<TrainingApplyProcessNodeE> processList = trainingApplyProcessRepository.getProcessNodeByRecordId(qry.getEqTrainingApplyRecordId());
|
||||
return trainingApplyProcessCoConvertor.converEsToCOs(processList);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.zcloud.edu.command.query.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordDetailQryExe {
|
||||
|
||||
private final TrainingApplyRecordGateway trainingApplyRecordGateway;
|
||||
private final TrainingApplyUserGateway trainingApplyUserGateway;
|
||||
}
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
package com.zcloud.edu.command.query.training;
|
||||
|
||||
import com.zcloud.edu.command.convertor.training.TrainingApplyRecordCoConvertor;
|
||||
import com.zcloud.edu.command.convertor.training.TrainingApplyUserCoConvertor;
|
||||
import com.zcloud.edu.domain.model.training.ApproveDetailE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyRecordE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:50
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordQueryExe {
|
||||
private final TrainingApplyRecordRepository trainingApplyRecordRepository;
|
||||
private final TrainingApplyRecordCoConvertor trainingApplyRecordCoConvertor;
|
||||
|
||||
private final TrainingApplyUserRepository trainingApplyUserRepository;
|
||||
private final TrainingApplyUserCoConvertor trainingApplyUserCoConvertor;
|
||||
|
||||
private final TrainingApplyProcessRepository trainingApplyProcessRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param trainingApplyRecordPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<TrainingApplyRecordCO> execute(TrainingApplyRecordPageQry trainingApplyRecordPageQry) {
|
||||
Map<String,Object> params = PageQueryHelper.toHashMap(trainingApplyRecordPageQry);
|
||||
PageResponse<TrainingApplyRecordDO> pageResponse = trainingApplyRecordRepository.listPage(params);
|
||||
List<TrainingApplyRecordCO> examCenterCOS = trainingApplyRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
/**
|
||||
* sql 分页
|
||||
*/
|
||||
public PageResponse<TrainingApplyRecordCO> executeBySql(TrainingApplyRecordPageQry trainingApplyRecordPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(trainingApplyRecordPageQry);
|
||||
PageResponse<TrainingApplyRecordDO> pageResponse = trainingApplyRecordRepository.listPageSql(params);
|
||||
List<TrainingApplyRecordCO> examCenterCOS = trainingApplyRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
/**
|
||||
* 培训申请记录详情(包含申请用户信息)
|
||||
*/
|
||||
public TrainingApplyRecordCO getInfoById(Long id) {
|
||||
com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE trainingApplyRecordDO = trainingApplyRecordRepository.getDetailById(id);
|
||||
if (trainingApplyRecordDO == null) return null;
|
||||
TrainingApplyRecordE trainingApplyRecordE = trainingApplyRecordCoConvertor.converDetailDOToE(trainingApplyRecordDO);
|
||||
|
||||
// 获取申请用户信息
|
||||
List<TrainingApplyUserE> applyUser = trainingApplyUserCoConvertor.converDOsToEs(trainingApplyUserRepository.getByRecordId(trainingApplyRecordE.getTrainingApplyRecordId()));
|
||||
trainingApplyRecordE.addApplyUsers(applyUser);
|
||||
|
||||
// 获取审批委托信息
|
||||
List<ApproveDetailE> approveDetails = trainingApplyProcessRepository.getApproveDetailList(trainingApplyRecordE.getTrainingApplyRecordId());
|
||||
trainingApplyRecordE.buildApproveDetails(approveDetails);
|
||||
|
||||
return trainingApplyRecordCoConvertor.converEToCO(trainingApplyRecordE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取培训申请记录详情
|
||||
*/
|
||||
public TrainingApplyRecordCO getSimpleInfoById(String trainingApplyRecordId) {
|
||||
TrainingApplyRecordDO trainingApplyRecordDO = trainingApplyRecordRepository.getByTrainingRecordId(trainingApplyRecordId);
|
||||
if (trainingApplyRecordDO == null) return null;
|
||||
return trainingApplyRecordCoConvertor.converDOToCO(trainingApplyRecordDO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.zcloud.edu.command.query.training;
|
||||
|
||||
import com.zcloud.edu.command.convertor.training.TrainingApplyUserCoConvertor;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserPageQry;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:36
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserQueryExe {
|
||||
private final TrainingApplyUserRepository trainingApplyUserRepository;
|
||||
private final TrainingApplyUserCoConvertor trainingApplyUserCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param trainingApplyUserPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<TrainingApplyUserCO> execute(TrainingApplyUserPageQry trainingApplyUserPageQry) {
|
||||
Map<String,Object> params = PageQueryHelper.toHashMap(trainingApplyUserPageQry);
|
||||
PageResponse<TrainingApplyUserDO> pageResponse = trainingApplyUserRepository.listPage(params);
|
||||
List<TrainingApplyUserCO> examCenterCOS = trainingApplyUserCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.zcloud.edu.command.query.training;
|
||||
|
||||
import com.zcloud.edu.command.convertor.training.TrainingUserCoConvertor;
|
||||
import com.zcloud.edu.dto.training.TrainingUserPageQry;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingUserCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingUserDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingUserRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:04
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserQueryExe {
|
||||
private final TrainingUserRepository trainingUserRepository;
|
||||
private final TrainingUserCoConvertor trainingUserCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param trainingUserPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<TrainingUserCO> execute(TrainingUserPageQry trainingUserPageQry) {
|
||||
Map<String,Object> params = PageQueryHelper.toHashMap(trainingUserPageQry);
|
||||
PageResponse<TrainingUserDO> pageResponse = trainingUserRepository.listPage(params);
|
||||
List<TrainingUserCO> examCenterCOS = trainingUserCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessE;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:29:59
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessAddExe {
|
||||
private final TrainingApplyProcessGateway trainingApplyProcessGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(TrainingApplyProcessAddCmd cmd) {
|
||||
TrainingApplyProcessE trainingApplyProcessE = new TrainingApplyProcessE();
|
||||
BeanUtils.copyProperties(cmd, trainingApplyProcessE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = trainingApplyProcessGateway.add(trainingApplyProcessE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:03
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessRemoveExe {
|
||||
private final TrainingApplyProcessGateway trainingApplyProcessGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = trainingApplyProcessGateway.deletedTrainingApplyProcessById(id);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = trainingApplyProcessGateway.deletedTrainingApplyProcessByIds(ids);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.command.convertor.training.TrainingApplyRecordCoConvertor;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessE;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:05
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessUpdateExe {
|
||||
private final TrainingApplyProcessGateway trainingApplyProcessGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(TrainingApplyProcessUpdateCmd trainingApplyProcessUpdateCmd) {
|
||||
TrainingApplyProcessE trainingApplyProcessE = new TrainingApplyProcessE();
|
||||
BeanUtils.copyProperties(trainingApplyProcessUpdateCmd, trainingApplyProcessE);
|
||||
boolean res = trainingApplyProcessGateway.update(trainingApplyProcessE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyRecordE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:45
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordAddExe {
|
||||
private final TrainingApplyRecordGateway trainingApplyRecordGateway;
|
||||
|
||||
private final TrainingApplyUserGateway trainingApplyUserGateway;
|
||||
private final TrainingApplyProcessGateway trainingApplyProcessGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String execute(TrainingApplyRecordAddCmd cmd) {
|
||||
TrainingApplyRecordE record = assembleRecord(cmd);
|
||||
// 保存主记录
|
||||
record.initiate();
|
||||
boolean recordResult = trainingApplyRecordGateway.add(record);
|
||||
if (!recordResult) {
|
||||
throw new BizException("培训申请主记录保存失败");
|
||||
}
|
||||
|
||||
// 保存申请人员
|
||||
if (!CollectionUtils.isEmpty(record.getApplyUsers())) {
|
||||
boolean userResult = trainingApplyUserGateway.addBatch(record.getApplyUsers());
|
||||
if (!userResult) {
|
||||
throw new BizException("培训申请人员保存失败");
|
||||
}
|
||||
}
|
||||
|
||||
// 保存流程记录
|
||||
if (!CollectionUtils.isEmpty(record.getProcesses())) {
|
||||
boolean processResult = trainingApplyProcessGateway.addBatch(record.getProcesses());
|
||||
if (!processResult) {
|
||||
throw new BizException("培训申请流程记录保存失败");
|
||||
}
|
||||
}
|
||||
|
||||
return record.getTrainingApplyRecordId();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 组装对象
|
||||
*/
|
||||
private TrainingApplyRecordE assembleRecord(TrainingApplyRecordAddCmd cmd) {
|
||||
TrainingApplyRecordE record = new TrainingApplyRecordE();
|
||||
BeanUtils.copyProperties(cmd, record);
|
||||
|
||||
// 组装申请人员
|
||||
if (!CollectionUtils.isEmpty(cmd.getApplyUsers())) {
|
||||
List<TrainingApplyUserE> users = cmd.getApplyUsers().stream()
|
||||
.map(this::toUserEntity)
|
||||
.collect(Collectors.toList());
|
||||
record.addApplyUsers(users);
|
||||
}
|
||||
|
||||
return record;
|
||||
}
|
||||
|
||||
/**
|
||||
* DTO 转实体
|
||||
*/
|
||||
private TrainingApplyUserE toUserEntity(TrainingApplyUserAddCmd cmd) {
|
||||
TrainingApplyUserE user = new TrainingApplyUserE();
|
||||
BeanUtils.copyProperties(cmd, user);
|
||||
return user;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:50
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordRemoveExe {
|
||||
private final TrainingApplyRecordGateway trainingApplyRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = trainingApplyRecordGateway.deletedTrainingApplyRecordById(id);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = trainingApplyRecordGateway.deletedTrainingApplyRecordByIds(ids);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyRecordE;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingUserRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:53
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordUpdateExe {
|
||||
private final TrainingApplyRecordGateway trainingApplyRecordGateway;
|
||||
private final TrainingApplyUserGateway trainingApplyUserGateway;
|
||||
private final TrainingUserGateway trainingUserGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) {
|
||||
TrainingApplyRecordE trainingApplyRecordE = new TrainingApplyRecordE();
|
||||
BeanUtils.copyProperties(trainingApplyRecordUpdateCmd, trainingApplyRecordE);
|
||||
boolean res = trainingApplyRecordGateway.update(trainingApplyRecordE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审批
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void executeApprove(TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) {
|
||||
TrainingApplyRecordE oldTrainingRecord = trainingApplyRecordGateway.getById(trainingApplyRecordUpdateCmd.getId());
|
||||
TrainingApplyRecordE trainingApplyRecordE = new TrainingApplyRecordE();
|
||||
BeanUtils.copyProperties(trainingApplyRecordUpdateCmd, trainingApplyRecordE);
|
||||
trainingApplyRecordE.approve(oldTrainingRecord.getApprovalStatus());
|
||||
trainingApplyRecordE.addTrainingUser();
|
||||
boolean updateUserStatus = trainingApplyUserGateway.updateStatusByApprove(trainingApplyRecordE.getApplyUsers());
|
||||
if (!updateUserStatus) {
|
||||
throw new BizException("修改申请人员状态失败");
|
||||
}
|
||||
boolean addTrainingUser = trainingUserGateway.addBatch(trainingApplyRecordE.getTrainingUsers());
|
||||
if (!addTrainingUser) {
|
||||
throw new BizException("新增培训人员失败");
|
||||
}
|
||||
boolean res = trainingApplyRecordGateway.update(trainingApplyRecordE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:32
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserAddExe {
|
||||
private final TrainingApplyUserGateway trainingApplyUserGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(TrainingApplyUserAddCmd cmd) {
|
||||
TrainingApplyUserE trainingApplyUserE = new TrainingApplyUserE();
|
||||
BeanUtils.copyProperties(cmd, trainingApplyUserE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = trainingApplyUserGateway.add(trainingApplyUserE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:37
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserRemoveExe {
|
||||
private final TrainingApplyUserGateway trainingApplyUserGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = trainingApplyUserGateway.deletedTrainingApplyUserById(id);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = trainingApplyUserGateway.deletedTrainingApplyUserByIds(ids);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:39
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserUpdateExe {
|
||||
private final TrainingApplyUserGateway trainingApplyUserGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(TrainingApplyUserUpdateCmd trainingApplyUserUpdateCmd) {
|
||||
TrainingApplyUserE trainingApplyUserE = new TrainingApplyUserE();
|
||||
BeanUtils.copyProperties(trainingApplyUserUpdateCmd, trainingApplyUserE);
|
||||
boolean res = trainingApplyUserGateway.update(trainingApplyUserE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingUserE;
|
||||
import com.zcloud.edu.dto.training.TrainingUserAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:00
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserAddExe {
|
||||
private final TrainingUserGateway trainingUserGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(TrainingUserAddCmd cmd) {
|
||||
TrainingUserE trainingUserE = new TrainingUserE();
|
||||
BeanUtils.copyProperties(cmd, trainingUserE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = trainingUserGateway.add(trainingUserE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingUserGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:05
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserRemoveExe {
|
||||
private final TrainingUserGateway trainingUserGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = trainingUserGateway.deletedTrainingUserById(id);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = trainingUserGateway.deletedTrainingUserByIds(ids);
|
||||
if(!res){
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package com.zcloud.edu.command.training;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingUserE;
|
||||
import com.zcloud.edu.dto.training.TrainingUserUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:08
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserUpdateExe {
|
||||
private final TrainingUserGateway trainingUserGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(TrainingUserUpdateCmd trainingUserUpdateCmd) {
|
||||
TrainingUserE trainingUserE = new TrainingUserE();
|
||||
BeanUtils.copyProperties(trainingUserUpdateCmd, trainingUserE);
|
||||
boolean res = trainingUserGateway.update(trainingUserE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
package com.zcloud.edu.service;
|
||||
|
||||
import com.zcloud.edu.api.training.TrainingApplyProcessServiceI;
|
||||
import com.zcloud.edu.command.query.training.TrainingApplyRecordQueryExe;
|
||||
import com.zcloud.edu.command.training.TrainingApplyProcessAddExe;
|
||||
import com.zcloud.edu.command.training.TrainingApplyProcessRemoveExe;
|
||||
import com.zcloud.edu.command.training.TrainingApplyProcessUpdateExe;
|
||||
import com.zcloud.edu.command.query.training.TrainingApplyProcessQueryExe;
|
||||
import com.zcloud.edu.domain.enums.ApplyTypeEnum;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessE;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:04
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessServiceImpl implements TrainingApplyProcessServiceI {
|
||||
private final TrainingApplyProcessAddExe trainingApplyProcessAddExe;
|
||||
private final TrainingApplyProcessUpdateExe trainingApplyProcessUpdateExe;
|
||||
private final TrainingApplyProcessRemoveExe trainingApplyProcessRemoveExe;
|
||||
private final TrainingApplyProcessQueryExe trainingApplyProcessQueryExe;
|
||||
private final TrainingApplyRecordQueryExe trainingApplyRecordQueryExe;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingApplyProcessCO> listPage(TrainingApplyProcessPageQry qry){
|
||||
|
||||
return trainingApplyProcessQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(TrainingApplyProcessAddCmd cmd) {
|
||||
|
||||
trainingApplyProcessAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(TrainingApplyProcessUpdateCmd trainingApplyProcessUpdateCmd) {
|
||||
trainingApplyProcessUpdateExe.execute(trainingApplyProcessUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
trainingApplyProcessRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
trainingApplyProcessRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TrainingApplyProcessNodeCO> getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry) {
|
||||
return trainingApplyProcessQueryExe.getProcessDiagramByRecordId(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.zcloud.edu.service;
|
||||
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.api.training.TrainingApplyRecordServiceI;
|
||||
import com.zcloud.edu.command.training.TrainingApplyRecordAddExe;
|
||||
import com.zcloud.edu.command.training.TrainingApplyRecordRemoveExe;
|
||||
import com.zcloud.edu.command.training.TrainingApplyRecordUpdateExe;
|
||||
import com.zcloud.edu.command.query.training.TrainingApplyRecordQueryExe;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:52
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordServiceImpl implements TrainingApplyRecordServiceI {
|
||||
private final TrainingApplyRecordAddExe trainingApplyRecordAddExe;
|
||||
private final TrainingApplyRecordUpdateExe trainingApplyRecordUpdateExe;
|
||||
private final TrainingApplyRecordRemoveExe trainingApplyRecordRemoveExe;
|
||||
private final TrainingApplyRecordQueryExe trainingApplyRecordQueryExe;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingApplyRecordCO> listPage(TrainingApplyRecordPageQry qry){
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return trainingApplyRecordQueryExe.executeBySql(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(TrainingApplyRecordAddCmd cmd) {
|
||||
|
||||
trainingApplyRecordAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(TrainingApplyRecordUpdateCmd trainingApplyRecordUpdateCmd) {
|
||||
trainingApplyRecordUpdateExe.execute(trainingApplyRecordUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
trainingApplyRecordRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
trainingApplyRecordRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<TrainingApplyRecordCO> getInfoById(Long id) {
|
||||
return SingleResponse.of(trainingApplyRecordQueryExe.getInfoById(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void approve(TrainingApplyRecordUpdateCmd cmd) {
|
||||
trainingApplyRecordUpdateExe.executeApprove(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
package com.zcloud.edu.service;
|
||||
|
||||
import com.zcloud.edu.api.training.TrainingApplyUserServiceI;
|
||||
import com.zcloud.edu.command.training.TrainingApplyUserAddExe;
|
||||
import com.zcloud.edu.command.training.TrainingApplyUserRemoveExe;
|
||||
import com.zcloud.edu.command.training.TrainingApplyUserUpdateExe;
|
||||
import com.zcloud.edu.command.query.training.TrainingApplyUserQueryExe;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:38
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserServiceImpl implements TrainingApplyUserServiceI {
|
||||
private final TrainingApplyUserAddExe trainingApplyUserAddExe;
|
||||
private final TrainingApplyUserUpdateExe trainingApplyUserUpdateExe;
|
||||
private final TrainingApplyUserRemoveExe trainingApplyUserRemoveExe;
|
||||
private final TrainingApplyUserQueryExe trainingApplyUserQueryExe;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingApplyUserCO> listPage(TrainingApplyUserPageQry qry){
|
||||
|
||||
return trainingApplyUserQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(TrainingApplyUserAddCmd cmd) {
|
||||
|
||||
trainingApplyUserAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(TrainingApplyUserUpdateCmd trainingApplyUserUpdateCmd) {
|
||||
trainingApplyUserUpdateExe.execute(trainingApplyUserUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
trainingApplyUserRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
trainingApplyUserRemoveExe.execute(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
package com.zcloud.edu.service;
|
||||
|
||||
import com.zcloud.edu.api.training.TrainingUserServiceI;
|
||||
import com.zcloud.edu.command.training.TrainingUserAddExe;
|
||||
import com.zcloud.edu.command.training.TrainingUserRemoveExe;
|
||||
import com.zcloud.edu.command.training.TrainingUserUpdateExe;
|
||||
import com.zcloud.edu.command.query.training.TrainingUserQueryExe;
|
||||
import com.zcloud.edu.dto.training.TrainingUserAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingUserPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingUserUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingUserCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:07
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserServiceImpl implements TrainingUserServiceI {
|
||||
private final TrainingUserAddExe trainingUserAddExe;
|
||||
private final TrainingUserUpdateExe trainingUserUpdateExe;
|
||||
private final TrainingUserRemoveExe trainingUserRemoveExe;
|
||||
private final TrainingUserQueryExe trainingUserQueryExe;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingUserCO> listPage(TrainingUserPageQry qry){
|
||||
|
||||
return trainingUserQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(TrainingUserAddCmd cmd) {
|
||||
|
||||
trainingUserAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(TrainingUserUpdateCmd trainingUserUpdateCmd) {
|
||||
trainingUserUpdateExe.execute(trainingUserUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
trainingUserRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
trainingUserRemoveExe.execute(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package com.zcloud.edu.api.training;
|
||||
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessNodeCO;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyProcessUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:04
|
||||
*/
|
||||
public interface TrainingApplyProcessServiceI {
|
||||
PageResponse<TrainingApplyProcessCO> listPage(TrainingApplyProcessPageQry qry);
|
||||
|
||||
SingleResponse<TrainingApplyProcessCO> add(TrainingApplyProcessAddCmd cmd);
|
||||
|
||||
void edit(TrainingApplyProcessUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
/**
|
||||
* 获取审批流程图
|
||||
*/
|
||||
List<TrainingApplyProcessNodeCO> getProcessDiagramByRecordId(TrainingApplyProcessPageQry qry);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package com.zcloud.edu.api.training;
|
||||
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyRecordUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:51
|
||||
*/
|
||||
public interface TrainingApplyRecordServiceI {
|
||||
PageResponse<TrainingApplyRecordCO> listPage(TrainingApplyRecordPageQry qry);
|
||||
|
||||
SingleResponse<TrainingApplyRecordCO> add(TrainingApplyRecordAddCmd cmd);
|
||||
|
||||
void edit(TrainingApplyRecordUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
/**
|
||||
* 培训申请记录详情
|
||||
*/
|
||||
SingleResponse<TrainingApplyRecordCO> getInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 审批培训申请
|
||||
*/
|
||||
void approve(TrainingApplyRecordUpdateCmd cmd);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.zcloud.edu.api.training;
|
||||
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingApplyUserUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:37
|
||||
*/
|
||||
public interface TrainingApplyUserServiceI {
|
||||
PageResponse<TrainingApplyUserCO> listPage(TrainingApplyUserPageQry qry);
|
||||
|
||||
SingleResponse<TrainingApplyUserCO> add(TrainingApplyUserAddCmd cmd);
|
||||
|
||||
void edit(TrainingApplyUserUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.zcloud.edu.api.training;
|
||||
|
||||
import com.zcloud.edu.dto.training.TrainingUserAddCmd;
|
||||
import com.zcloud.edu.dto.training.TrainingUserPageQry;
|
||||
import com.zcloud.edu.dto.training.TrainingUserUpdateCmd;
|
||||
import com.zcloud.edu.dto.clientobject.training.TrainingUserCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:06
|
||||
*/
|
||||
public interface TrainingUserServiceI {
|
||||
PageResponse<TrainingUserCO> listPage(TrainingUserPageQry qry);
|
||||
|
||||
SingleResponse<TrainingUserCO> add(TrainingUserAddCmd cmd);
|
||||
|
||||
void edit(TrainingUserUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.zcloud.edu.dto.clientobject.training;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ApproveDetailCO {
|
||||
|
||||
@ApiModelProperty(value = "审批类型 1-审批信息 2-委托信息")
|
||||
private Integer approveType;
|
||||
|
||||
@ApiModelProperty(value = "审批企业")
|
||||
private String approveCorpName;
|
||||
|
||||
@ApiModelProperty(value = "审批部门")
|
||||
private String approveDeptName;
|
||||
|
||||
@ApiModelProperty(value = "审批人")
|
||||
private String approveUserName;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.zcloud.edu.dto.clientobject.training;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:00
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyProcessCO extends ClientObject {
|
||||
//主键
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Long id;
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingApplyProcessId;
|
||||
//培训申请记录id
|
||||
@ApiModelProperty(value = "培训申请记录id")
|
||||
private String trainingApplyRecordId;
|
||||
//审批类型(1:发起,2:审批,3:委托)
|
||||
@ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)")
|
||||
private Long applyType;
|
||||
//记录审批状态
|
||||
@ApiModelProperty(value = "记录审批状态 审批状态1:待审批2:审批中,3:审批完成")
|
||||
private Long approvalStatus;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//企业id
|
||||
@ApiModelProperty(value = "企业id")
|
||||
private Long corpinfoId;
|
||||
//部门id
|
||||
@ApiModelProperty(value = "部门id")
|
||||
private Long departmentId;
|
||||
//用户id
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
//乐观锁
|
||||
@ApiModelProperty(value = "乐观锁")
|
||||
private Integer version;
|
||||
//创建人
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long createId;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
//更新人
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private Long updateId;
|
||||
//修改人名称
|
||||
@ApiModelProperty(value = "修改人名称")
|
||||
private String updateName;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
//描述
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remarks;
|
||||
//是否删除
|
||||
@ApiModelProperty(value = "是否删除")
|
||||
private String deleteEnum;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//机构id
|
||||
@ApiModelProperty(value = "机构id")
|
||||
private Long orgId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.zcloud.edu.dto.clientobject.training;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TrainingApplyProcessNodeCO {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "节点名称")
|
||||
private String nodeName;
|
||||
|
||||
@ApiModelProperty(value = "审批状态")
|
||||
private Long approvalStatus;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty(value = "审批类型")
|
||||
private Long applyType;
|
||||
|
||||
@ApiModelProperty(value = "时间")
|
||||
private String time;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
package com.zcloud.edu.dto.clientobject.training;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.zcloud.edu.domain.model.training.ApproveDetailE;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:46
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyRecordCO extends ClientObject {
|
||||
//主键
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Long id;
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingApplyRecordId;
|
||||
//申请企业id
|
||||
@ApiModelProperty(value = "申请企业id")
|
||||
private Long applyCorpinfoId;
|
||||
//企业名称
|
||||
@ApiModelProperty(value = "申请企业名称")
|
||||
private String applyCorpName;
|
||||
//申请部门id
|
||||
@ApiModelProperty(value = "申请部门id")
|
||||
private Long applyDepartmentId;
|
||||
//申请用户id
|
||||
@ApiModelProperty(value = "申请用户id")
|
||||
private Long applyUserId;
|
||||
//审批企业id
|
||||
@ApiModelProperty(value = "审批企业id")
|
||||
private Long approvalCorpinfoId;
|
||||
// 审批企业名称
|
||||
@ApiModelProperty(value = "审批企业名称")
|
||||
private String approvalCorpName;
|
||||
//审批部门id
|
||||
@ApiModelProperty(value = "审批部门id")
|
||||
private Long approvalDepartmentId;
|
||||
// 审批部门名称
|
||||
@ApiModelProperty(value = "审批部门名称")
|
||||
private String approvalDepartmentName;
|
||||
//审批用户id
|
||||
@ApiModelProperty(value = "审批用户id")
|
||||
private Long approvalUserId;
|
||||
// 审批用户名称
|
||||
@ApiModelProperty(value = "审批用户名称")
|
||||
private String approvalUserName;
|
||||
// 关联项目
|
||||
@ApiModelProperty(value = "关联项目")
|
||||
private String projectName;
|
||||
//审批状态1:待审批2:审批中,3:审批完成
|
||||
@ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成")
|
||||
private Long approvalStatus;
|
||||
//乐观锁
|
||||
@ApiModelProperty(value = "乐观锁")
|
||||
private Integer version;
|
||||
// 申请人数
|
||||
@ApiModelProperty(value = " 申请人数")
|
||||
private Integer applyUserCount;
|
||||
//创建人
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long createId;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
//更新人
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private Long updateId;
|
||||
//修改人名称
|
||||
@ApiModelProperty(value = "修改人名称")
|
||||
private String updateName;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
//描述
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remarks;
|
||||
//是否删除
|
||||
@ApiModelProperty(value = "是否删除")
|
||||
private String deleteEnum;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//机构id
|
||||
@ApiModelProperty(value = "机构id")
|
||||
private Long orgId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
|
||||
// 申请人名称
|
||||
@ApiModelProperty(value = " 申请人名称")
|
||||
private String applyUserName;
|
||||
|
||||
@ApiModelProperty(value = "申请人列表")
|
||||
private List<TrainingApplyUserCO> applyUsers;
|
||||
|
||||
@ApiModelProperty(value = "审批委托信息")
|
||||
private List<ApproveDetailE> approveDetails;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.zcloud.edu.dto.clientobject.training;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:33
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyUserCO extends ClientObject {
|
||||
//主键
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Long id;
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingApplyUserId;
|
||||
//培训申请记录id
|
||||
@ApiModelProperty(value = "培训申请记录id")
|
||||
private String trainingApplyRecordId;
|
||||
//用户id
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//申请状态1:待审批2:审批通过,3:审批不通过
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过")
|
||||
private Long applyStatus;
|
||||
//用户名称
|
||||
@ApiModelProperty(value = "用户名称")
|
||||
private String userName;
|
||||
//身份证号
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String idCard;
|
||||
//关联项目
|
||||
@ApiModelProperty(value = "关联项目")
|
||||
private String projectName;
|
||||
//乐观锁
|
||||
@ApiModelProperty(value = "乐观锁")
|
||||
private Integer version;
|
||||
//创建人
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long createId;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
//更新人
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private Long updateId;
|
||||
//修改人名称
|
||||
@ApiModelProperty(value = "修改人名称")
|
||||
private String updateName;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
//描述
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remarks;
|
||||
//是否删除
|
||||
@ApiModelProperty(value = "是否删除")
|
||||
private String deleteEnum;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//机构id
|
||||
@ApiModelProperty(value = "机构id")
|
||||
private Long orgId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
package com.zcloud.edu.dto.clientobject.training;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:01
|
||||
*/
|
||||
@Data
|
||||
public class TrainingUserCO extends ClientObject {
|
||||
//主键
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Long id;
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingUserId;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//申请状态1:待审批2:审批通过,3:审批不通过
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过")
|
||||
private Long applyStatus;
|
||||
//有效期开始时间
|
||||
@ApiModelProperty(value = "有效期开始时间")
|
||||
private LocalDateTime startTime;
|
||||
//有效期结束时间
|
||||
@ApiModelProperty(value = "有效期结束时间")
|
||||
private LocalDateTime endTime;
|
||||
//考试状态:1.待考试2:考试通过,3:考试不通过
|
||||
@ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过")
|
||||
private Long examineStatus;
|
||||
//乐观锁
|
||||
@ApiModelProperty(value = "乐观锁")
|
||||
private Integer version;
|
||||
//创建人
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long createId;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
//更新人
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private Long updateId;
|
||||
//修改人名称
|
||||
@ApiModelProperty(value = "修改人名称")
|
||||
private String updateName;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
//描述
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remarks;
|
||||
//是否删除
|
||||
@ApiModelProperty(value = "是否删除")
|
||||
private String deleteEnum;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//机构id
|
||||
@ApiModelProperty(value = "机构id")
|
||||
private Long orgId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:29:58
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessAddCmd extends Command {
|
||||
@ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true)
|
||||
// @NotEmpty(message = "培训申请记录id不能为空")
|
||||
private String trainingApplyRecordId;
|
||||
|
||||
@ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)", name = "applyType", required = true)
|
||||
@NotNull(message = "审批类型(1:发起,2:审批,3:委托)不能为空")
|
||||
private Long applyType;
|
||||
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
// @NotEmpty(message = "手机号不能为空")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
|
||||
@NotNull(message = "企业id不能为空")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
|
||||
@NotNull(message = "部门id不能为空")
|
||||
private Long departmentId;
|
||||
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:03
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyProcessPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeTrainingApplyProcessId;
|
||||
|
||||
private String eqTrainingApplyRecordId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:05
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务主键id", name = "trainingApplyProcessId", required = true)
|
||||
@NotEmpty(message = "业务主键id不能为空")
|
||||
private String trainingApplyProcessId;
|
||||
@ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true)
|
||||
@NotEmpty(message = "培训申请记录id不能为空")
|
||||
private String trainingApplyRecordId;
|
||||
@ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)", name = "applyType", required = true)
|
||||
@NotNull(message = "审批类型(1:发起,2:审批,3:委托)不能为空")
|
||||
private Long applyType;
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
|
||||
@NotNull(message = "企业id不能为空")
|
||||
private Long corpinfoId;
|
||||
@ApiModelProperty(value = "部门id", name = "departmentId", required = true)
|
||||
@NotNull(message = "部门id不能为空")
|
||||
private Long departmentId;
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:35
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordAddCmd extends Command {
|
||||
@ApiModelProperty(value = "申请企业id", name = "applyCorpinfoId", required = true)
|
||||
@NotNull(message = "申请企业id不能为空")
|
||||
private Long applyCorpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "申请部门id", name = "applyDepartmentId", required = true)
|
||||
@NotNull(message = "申请部门id不能为空")
|
||||
private Long applyDepartmentId;
|
||||
|
||||
@ApiModelProperty(value = "申请用户id", name = "applyUserId", required = true)
|
||||
@NotNull(message = "申请用户id不能为空")
|
||||
private Long applyUserId;
|
||||
|
||||
@ApiModelProperty(value = "审批企业id", name = "approvalCorpinfoId", required = true)
|
||||
@NotNull(message = "审批企业id不能为空")
|
||||
private Long approvalCorpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "审批部门id", name = "approvalDepartmentId", required = true)
|
||||
@NotNull(message = "审批部门id不能为空")
|
||||
private Long approvalDepartmentId;
|
||||
|
||||
@ApiModelProperty(value = "审批用户id", name = "approvalUserId", required = true)
|
||||
@NotNull(message = "审批用户id不能为空")
|
||||
private Long approvalUserId;
|
||||
|
||||
@ApiModelProperty(value = "关联项目", name = "projectName", required = true)
|
||||
@NotEmpty(message = "关联项目不能为空")
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成", name = "approvalStatus", required = true)
|
||||
// @NotNull(message = "审批状态1:待审批2:审批中,3:审批完成不能为空")
|
||||
private Long approvalStatus;
|
||||
|
||||
@ApiModelProperty(value = "申请人员列表")
|
||||
@NotNull(message = "申请人员列表不能为空")
|
||||
@Valid
|
||||
private List<TrainingApplyUserAddCmd> applyUsers;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:50
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyRecordPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeTrainingApplyRecordId;
|
||||
|
||||
@ApiModelProperty(value = "审批状态1:待审批2:审批通过,3:审批完成", name = "approvalStatus", required = false)
|
||||
private Long eqApprovalStatus;
|
||||
|
||||
@ApiModelProperty(value = "审批人ID", name = "approvalUserId", required = false)
|
||||
private Long eqApprovalUserId;
|
||||
|
||||
@ApiModelProperty(value = "申请企业ID", name = "applyCorpinfoId", required = false)
|
||||
private Long eqApplyCorpinfoId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:52
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务主键id", name = "trainingApplyRecordId", required = true)
|
||||
private String trainingApplyRecordId;
|
||||
@ApiModelProperty(value = "申请企业id", name = "applyCorpinfoId", required = true)
|
||||
private Long applyCorpinfoId;
|
||||
@ApiModelProperty(value = "申请部门id", name = "applyDepartmentId", required = true)
|
||||
private Long applyDepartmentId;
|
||||
@ApiModelProperty(value = "申请用户id", name = "applyUserId", required = true)
|
||||
private Long applyUserId;
|
||||
@ApiModelProperty(value = "审批企业id", name = "approvalCorpinfoId", required = true)
|
||||
private Long approvalCorpinfoId;
|
||||
@ApiModelProperty(value = "审批部门id", name = "approvalDepartmentId", required = true)
|
||||
private Long approvalDepartmentId;
|
||||
@ApiModelProperty(value = "审批用户id", name = "approvalUserId", required = true)
|
||||
private Long approvalUserId;
|
||||
@ApiModelProperty(value = "关联项目id", name = "projectName", required = true)
|
||||
private String projectName;
|
||||
@ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成", name = "approvalStatus", required = true)
|
||||
private Long approvalStatus;
|
||||
|
||||
@ApiModelProperty(value = "申请用户")
|
||||
private List<TrainingApplyUserE> applyUsers;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:31
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserAddCmd extends Command {
|
||||
@ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true)
|
||||
// @NotEmpty(message = "培训申请记录id不能为空")
|
||||
private String trainingApplyRecordId;
|
||||
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "身份证号" , name = "idCard", required = true)
|
||||
@NotEmpty(message = "身份证号不能为空")
|
||||
private String idCard;
|
||||
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true)
|
||||
// @NotNull(message = "申请状态1:待审批2:审批通过,3:审批不通过不能为空")
|
||||
private Long applyStatus;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:36
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyUserPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeTrainingApplyUserId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:39
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务主键id", name = "trainingApplyUserId", required = true)
|
||||
private String trainingApplyUserId;
|
||||
@ApiModelProperty(value = "培训申请记录id", name = "trainingApplyRecordId", required = true)
|
||||
private String trainingApplyRecordId;
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
private Long userId;
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "身份证号" , name = "idCard", required = true)
|
||||
private String idCard;
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true)
|
||||
private Long applyStatus;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:40:59
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserAddCmd extends Command {
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true)
|
||||
@NotNull(message = "申请状态1:待审批2:审批通过,3:审批不通过不能为空")
|
||||
private Long applyStatus;
|
||||
|
||||
@ApiModelProperty(value = "有效期开始时间", name = "startTime", required = true)
|
||||
@NotNull(message = "有效期开始时间不能为空")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@ApiModelProperty(value = "有效期结束时间", name = "endTime", required = true)
|
||||
@NotNull(message = "有效期结束时间不能为空")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过", name = "examineStatus", required = true)
|
||||
@NotNull(message = "考试状态:1.待考试2:考试通过,3:考试不通过不能为空")
|
||||
private Long examineStatus;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:04
|
||||
*/
|
||||
@Data
|
||||
public class TrainingUserPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeTrainingUserId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package com.zcloud.edu.dto.training;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:08
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务主键id", name = "trainingUserId", required = true)
|
||||
@NotEmpty(message = "业务主键id不能为空")
|
||||
private String trainingUserId;
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
private String phone;
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过", name = "applyStatus", required = true)
|
||||
@NotNull(message = "申请状态1:待审批2:审批通过,3:审批不通过不能为空")
|
||||
private Long applyStatus;
|
||||
@ApiModelProperty(value = "有效期开始时间", name = "startTime", required = true)
|
||||
@NotNull(message = "有效期开始时间不能为空")
|
||||
private LocalDateTime startTime;
|
||||
@ApiModelProperty(value = "有效期结束时间", name = "endTime", required = true)
|
||||
@NotNull(message = "有效期结束时间不能为空")
|
||||
private LocalDateTime endTime;
|
||||
@ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过", name = "examineStatus", required = true)
|
||||
@NotNull(message = "考试状态:1.待考试2:考试通过,3:考试不通过不能为空")
|
||||
private Long examineStatus;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.edu.domain.enums;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 申请状态枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ApplyStatusEnum {
|
||||
|
||||
/** 待审批 */
|
||||
PENDING(1L, "待审批"),
|
||||
|
||||
/** 审批通过 */
|
||||
APPROVED(2L, "审批通过"),
|
||||
|
||||
/** 审批不通过 */
|
||||
REJECTED(3L, "审批不通过");
|
||||
|
||||
private final Long code;
|
||||
private final String desc;
|
||||
|
||||
public static ApplyStatusEnum of(Long code) {
|
||||
for (ApplyStatusEnum status : values()) {
|
||||
if (status.getCode().equals(code)) {
|
||||
return status;
|
||||
}
|
||||
}
|
||||
throw new BizException("未知的申请状态: " + code);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.edu.domain.enums;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 审批类型枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ApplyTypeEnum {
|
||||
|
||||
/** 发起 */
|
||||
INITIATE(1L, "发起"),
|
||||
|
||||
/** 审批 */
|
||||
APPROVAL(2L, "审批"),
|
||||
|
||||
/** 委托 */
|
||||
DELEGATE(3L, "委托");
|
||||
|
||||
private final Long code;
|
||||
private final String desc;
|
||||
|
||||
public static ApplyTypeEnum of(Long code) {
|
||||
for (ApplyTypeEnum type : values()) {
|
||||
if (type.getCode().equals(code)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
throw new BizException("未知的审批类型: " + code);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.edu.domain.enums;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 审批状态枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ApprovalStatusEnum {
|
||||
|
||||
/** 待审批 */
|
||||
PENDING(1L, "待审批"),
|
||||
|
||||
/** 审批中 */
|
||||
APPROVING(2L, "审批中"),
|
||||
|
||||
/** 审批完成 */
|
||||
APPROVED(3L, "审批完成");
|
||||
|
||||
private final Long code;
|
||||
private final String desc;
|
||||
|
||||
public static ApprovalStatusEnum of(Long code) {
|
||||
for (ApprovalStatusEnum status : values()) {
|
||||
if (status.getCode().equals(code)) {
|
||||
return status;
|
||||
}
|
||||
}
|
||||
throw new BizException("未知的审批状态: " + code);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package com.zcloud.edu.domain.enums;
|
||||
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 考试状态枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ExamineStatusEnum {
|
||||
|
||||
/** 待考试 */
|
||||
PENDING(1L, "待考试"),
|
||||
|
||||
/** 考试通过 */
|
||||
PASSED(2L, "考试通过"),
|
||||
|
||||
/** 考试不通过 */
|
||||
FAILED(3L, "考试不通过");
|
||||
|
||||
private final Long code;
|
||||
private final String desc;
|
||||
|
||||
public static ExamineStatusEnum of(Long code) {
|
||||
for (ExamineStatusEnum status : values()) {
|
||||
if (status.getCode().equals(code)) {
|
||||
return status;
|
||||
}
|
||||
}
|
||||
throw new BizException("未知的考试状态: " + code);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.domain.gateway.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessE;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:02
|
||||
*/
|
||||
public interface TrainingApplyProcessGateway {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
Boolean add(TrainingApplyProcessE trainingApplyProcessE) ;
|
||||
|
||||
/**
|
||||
* 批量新增
|
||||
*/
|
||||
Boolean addBatch(List<TrainingApplyProcessE> trainingApplyProcessEList);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
Boolean update(TrainingApplyProcessE trainingApplyProcessE);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
Boolean deletedTrainingApplyProcessById(Long id);
|
||||
Boolean deletedTrainingApplyProcessByIds(Long[] id);
|
||||
|
||||
/**
|
||||
* 根据申请记录ID查询
|
||||
*/
|
||||
List<TrainingApplyProcessE> listByRecordId(String trainingApplyRecordId);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.zcloud.edu.domain.gateway.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyRecordE;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:48
|
||||
*/
|
||||
public interface TrainingApplyRecordGateway {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
Boolean add(TrainingApplyRecordE trainingApplyRecordE) ;
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
Boolean update(TrainingApplyRecordE trainingApplyRecordE);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
Boolean deletedTrainingApplyRecordById(Long id);
|
||||
Boolean deletedTrainingApplyRecordByIds(Long[] id);
|
||||
|
||||
/**
|
||||
* 根据ID获取培训申请记录
|
||||
*/
|
||||
TrainingApplyRecordE getById(Long id);
|
||||
|
||||
/**
|
||||
* 审批培训申请
|
||||
*/
|
||||
Boolean approve(TrainingApplyRecordE trainingApplyRecordE);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.domain.gateway.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:35
|
||||
*/
|
||||
public interface TrainingApplyUserGateway {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
Boolean add(TrainingApplyUserE trainingApplyUserE) ;
|
||||
|
||||
/**
|
||||
* 批量新增
|
||||
*/
|
||||
Boolean addBatch(List<TrainingApplyUserE> trainingApplyUserEList);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
Boolean update(TrainingApplyUserE trainingApplyUserE);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
Boolean deletedTrainingApplyUserById(Long id);
|
||||
Boolean deletedTrainingApplyUserByIds(Long[] id);
|
||||
|
||||
/**
|
||||
* 通过审批更新人员培训申请状态
|
||||
*/
|
||||
Boolean updateStatusByApprove(List<TrainingApplyUserE> trainingApplyUserE);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.zcloud.edu.domain.gateway.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingUserE;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:03
|
||||
*/
|
||||
public interface TrainingUserGateway {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
Boolean add(TrainingUserE trainingUserE) ;
|
||||
|
||||
/**
|
||||
* 批量新增
|
||||
*/
|
||||
Boolean addBatch(java.util.List<TrainingUserE> trainingUserEList);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
Boolean update(TrainingUserE trainingUserE);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
Boolean deletedTrainingUserById(Long id);
|
||||
Boolean deletedTrainingUserByIds(Long[] id);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.zcloud.edu.domain.model.training;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ApproveDetailE {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "审批类型 1-审批信息 2-委托信息")
|
||||
private Integer approveType;
|
||||
|
||||
@ApiModelProperty(value = "审批企业")
|
||||
private String approveCorpName;
|
||||
|
||||
@ApiModelProperty(value = "审批部门")
|
||||
private String approveDeptName;
|
||||
|
||||
@ApiModelProperty(value = "审批人")
|
||||
private String approveUserName;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
package com.zcloud.edu.domain.model.training;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import com.zcloud.edu.domain.enums.ApplyTypeEnum;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:01
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyProcessE extends BaseE {
|
||||
//业务主键id
|
||||
private String trainingApplyProcessId;
|
||||
//培训申请记录id
|
||||
private String trainingApplyRecordId;
|
||||
//审批类型(1:发起,2:审批,3:委托)
|
||||
private Long applyType;
|
||||
//手机号
|
||||
private String phone;
|
||||
//企业id
|
||||
private Long corpinfoId;
|
||||
//部门id
|
||||
private Long departmentId;
|
||||
//用户id
|
||||
private Long userId;
|
||||
// 流程审批状态 审批状态1:待审批2:审批中,3:审批完成
|
||||
private Long approvalStatus;
|
||||
|
||||
/**
|
||||
* 创建发起流程
|
||||
*/
|
||||
public static TrainingApplyProcessE createInitiate(
|
||||
String recordId, Long applyType, Long corpinfoId, Long departmentId, Long userId, String remarks) {
|
||||
|
||||
TrainingApplyProcessE process = new TrainingApplyProcessE();
|
||||
process.setTrainingApplyProcessId(IdUtil.simpleUUID());
|
||||
process.setTrainingApplyRecordId(recordId);
|
||||
process.setApplyType(applyType);
|
||||
process.setCorpinfoId(corpinfoId);
|
||||
process.setDepartmentId(departmentId);
|
||||
process.setUserId(userId);
|
||||
process.setRemarks(remarks);
|
||||
return process;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建审批流程
|
||||
*/
|
||||
public static TrainingApplyProcessE createApproval(
|
||||
String recordId, Long corpinfoId, Long departmentId, Long userId, String remarks) {
|
||||
|
||||
TrainingApplyProcessE process = new TrainingApplyProcessE();
|
||||
process.setTrainingApplyProcessId(IdUtil.simpleUUID());
|
||||
process.setTrainingApplyRecordId(recordId);
|
||||
process.setApplyType(ApplyTypeEnum.APPROVAL.getCode());
|
||||
process.setCorpinfoId(corpinfoId);
|
||||
process.setDepartmentId(departmentId);
|
||||
process.setUserId(userId);
|
||||
process.setRemarks(remarks);
|
||||
return process;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建委托流程
|
||||
*/
|
||||
public static TrainingApplyProcessE createDelegate(
|
||||
String recordId, Long corpinfoId, Long departmentId, Long userId, String remarks) {
|
||||
|
||||
TrainingApplyProcessE process = new TrainingApplyProcessE();
|
||||
process.setTrainingApplyProcessId(IdUtil.simpleUUID());
|
||||
process.setTrainingApplyRecordId(recordId);
|
||||
process.setApplyType(ApplyTypeEnum.DELEGATE.getCode());
|
||||
process.setCorpinfoId(corpinfoId);
|
||||
process.setDepartmentId(departmentId);
|
||||
process.setUserId(userId);
|
||||
process.setRemarks(remarks);
|
||||
return process;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置审批状态
|
||||
*/
|
||||
public void setApprovalStatus(Long approvalStatus) {
|
||||
if (approvalStatus == null) return;
|
||||
this.approvalStatus = approvalStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否需要设置审批状态
|
||||
*/
|
||||
private boolean needApprovalStatus(Long applyType) {
|
||||
return ApplyTypeEnum.APPROVAL.getCode().equals(applyType)
|
||||
|| ApplyTypeEnum.DELEGATE.getCode().equals(applyType);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.zcloud.edu.domain.model.training;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TrainingApplyProcessNodeE {
|
||||
|
||||
@ApiModelProperty(value = "节点名称")
|
||||
private String nodeName;
|
||||
|
||||
@ApiModelProperty(value = "审批状态")
|
||||
private Long approvalStatus;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty(value = "审批类型")
|
||||
private Long applyType;
|
||||
|
||||
@ApiModelProperty(value = "时间")
|
||||
private String time;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.zcloud.edu.domain.model.training;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TrainingApplyRecordDetailE extends TrainingApplyRecordE {
|
||||
|
||||
// 主表字段
|
||||
private Long id;
|
||||
private String trainingApplyRecordId;
|
||||
|
||||
// 关联查询字段
|
||||
private String applyUserName;
|
||||
private String applyCorpName;
|
||||
private String approvalUserName;
|
||||
private String approvalDepartmentName;
|
||||
private String approvalCorpName;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,162 @@
|
|||
package com.zcloud.edu.domain.model.training;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import com.zcloud.edu.domain.enums.ApplyStatusEnum;
|
||||
import com.zcloud.edu.domain.enums.ApplyTypeEnum;
|
||||
import com.zcloud.edu.domain.enums.ApprovalStatusEnum;
|
||||
import com.zcloud.edu.domain.enums.ExamineStatusEnum;
|
||||
import lombok.Data;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:48
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyRecordE extends BaseE {
|
||||
//业务主键id
|
||||
private String trainingApplyRecordId;
|
||||
//申请企业id
|
||||
private Long applyCorpinfoId;
|
||||
//申请企业名称
|
||||
private String applyCorpName;
|
||||
//申请部门id
|
||||
private Long applyDepartmentId;
|
||||
//申请用户id
|
||||
private Long applyUserId;
|
||||
//申请用户名称
|
||||
private String applyUserName;
|
||||
//审批企业id
|
||||
private Long approvalCorpinfoId;
|
||||
//审批企业名称
|
||||
private String approvalCorpName;
|
||||
//审批部门id
|
||||
private Long approvalDepartmentId;
|
||||
//审批部门名称
|
||||
private String approvalDepartmentName;
|
||||
//审批用户id
|
||||
private Long approvalUserId;
|
||||
//审批用户名称
|
||||
private String approvalUserName;
|
||||
// 关联项目
|
||||
private String projectName;
|
||||
//审批状态1:待审批2:审批中,3:审批完成
|
||||
private Long approvalStatus;
|
||||
|
||||
// 申请人员列表
|
||||
private List<TrainingApplyUserE> applyUsers = new ArrayList<>();
|
||||
|
||||
// 审批流程列表
|
||||
private List<TrainingApplyProcessE> processes = new ArrayList<>();
|
||||
|
||||
// 审批人员列表
|
||||
private List<TrainingApplyUserE> approvalUsers;
|
||||
|
||||
// 审批和委托信息
|
||||
private List<ApproveDetailE> approveDetails;
|
||||
|
||||
// 培训人员
|
||||
private List<TrainingUserE> trainingUsers = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 发起培训申请
|
||||
*/
|
||||
public void initiate() {
|
||||
this.trainingApplyRecordId = StrUtil.isNotBlank(this.trainingApplyRecordId) ? this.trainingApplyRecordId : IdUtil.simpleUUID();
|
||||
|
||||
this.approvalStatus = ApprovalStatusEnum.PENDING.getCode();
|
||||
|
||||
// 初始化申请人员
|
||||
if (!CollectionUtils.isEmpty(this.applyUsers)) {
|
||||
this.applyUsers.forEach(user -> {
|
||||
user.setTrainingApplyUserId(StrUtil.isBlank(user.getTrainingApplyUserId()) ? IdUtil.simpleUUID() : user.getTrainingApplyUserId());
|
||||
user.setTrainingApplyRecordId(this.trainingApplyRecordId);
|
||||
user.setApplyStatus(ApplyStatusEnum.PENDING.getCode());
|
||||
});
|
||||
}
|
||||
|
||||
// 流程
|
||||
TrainingApplyProcessE initiateProcess = TrainingApplyProcessE.createInitiate(
|
||||
this.trainingApplyRecordId,
|
||||
ApplyTypeEnum.INITIATE.getCode(),
|
||||
this.applyCorpinfoId,
|
||||
this.applyDepartmentId,
|
||||
this.applyUserId,
|
||||
"发起培训申请"
|
||||
);
|
||||
|
||||
this.processes.add(initiateProcess);
|
||||
TrainingApplyProcessE process = TrainingApplyProcessE.createInitiate(
|
||||
this.trainingApplyRecordId,
|
||||
ApplyTypeEnum.APPROVAL.getCode(),
|
||||
this.approvalCorpinfoId,
|
||||
this.approvalDepartmentId,
|
||||
this.approvalUserId,
|
||||
"等待审批"
|
||||
);
|
||||
this.processes.add(process);
|
||||
}
|
||||
|
||||
/**
|
||||
* 审批通过
|
||||
*/
|
||||
public void approve(Long approvalStatus){
|
||||
// 状态校验
|
||||
if (!ApprovalStatusEnum.PENDING.getCode().equals(approvalStatus)
|
||||
&& !ApprovalStatusEnum.APPROVING.getCode().equals(approvalStatus)) {
|
||||
throw new BizException("只有待审批或审批中状态才能进行审批");
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(this.applyUsers)) {
|
||||
throw new BizException("申请人员列表不能为空");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加培训人员
|
||||
*/
|
||||
public void addTrainingUser() {
|
||||
if (this.applyUsers == null) return;
|
||||
applyUsers.forEach(user -> {
|
||||
TrainingUserE trainingUser = new TrainingUserE();
|
||||
trainingUser.setTrainingUserId(IdUtil.simpleUUID());
|
||||
trainingUser.setPhone(user.getPhone());
|
||||
trainingUser.setApplyStatus(user.getApplyStatus());
|
||||
trainingUser.setExamineStatus(ExamineStatusEnum.PENDING.getCode());
|
||||
this.trainingUsers.add(trainingUser);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 批量添加申请人员
|
||||
*/
|
||||
public void addApplyUsers(List<TrainingApplyUserE> users) {
|
||||
if (!CollectionUtils.isEmpty(users)) {
|
||||
this.applyUsers.addAll(users);
|
||||
if (StrUtil.isNotBlank(this.projectName)) {
|
||||
applyUsers.forEach(applyUser -> {applyUser.setProjectName(projectName);});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 组装审批和委托信息
|
||||
*/
|
||||
public void buildApproveDetails(List<ApproveDetailE> approveDetails) {
|
||||
if (!CollectionUtils.isEmpty(approveDetails)) {
|
||||
this.approveDetails = approveDetails;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.zcloud.edu.domain.model.training;
|
||||
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:34
|
||||
*/
|
||||
@Data
|
||||
public class TrainingApplyUserE extends BaseE {
|
||||
//主键ID
|
||||
private Long id;
|
||||
//业务主键id
|
||||
private String trainingApplyUserId;
|
||||
//培训申请记录id
|
||||
private String trainingApplyRecordId;
|
||||
//用户id
|
||||
private Long userId;
|
||||
//手机号
|
||||
private String phone;
|
||||
//申请状态1:待审批2:审批通过,3:审批不通过
|
||||
private Long applyStatus;
|
||||
//身份证号
|
||||
private String idCard;
|
||||
//关联项目
|
||||
private String projectName;
|
||||
//用户名称
|
||||
private String userName;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.zcloud.edu.domain.model.training;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import com.zcloud.edu.domain.enums.ExamineStatusEnum;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:02
|
||||
*/
|
||||
@Data
|
||||
public class TrainingUserE extends BaseE {
|
||||
//业务主键id
|
||||
private String trainingUserId;
|
||||
//手机号
|
||||
private String phone;
|
||||
//申请状态1:待审批2:审批通过,3:审批不通过
|
||||
private Long applyStatus;
|
||||
//有效期开始时间
|
||||
private LocalDateTime startTime;
|
||||
//有效期结束时间
|
||||
private LocalDateTime endTime;
|
||||
//考试状态:1.待考试2:考试通过,3:考试不通过
|
||||
private Long examineStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 从申请人员创建培训人员
|
||||
*/
|
||||
public static TrainingUserE fromApplyUser(TrainingApplyUserE applyUser) {
|
||||
TrainingUserE trainingUser = new TrainingUserE();
|
||||
trainingUser.setTrainingUserId(IdUtil.simpleUUID());
|
||||
trainingUser.setPhone(applyUser.getPhone());
|
||||
trainingUser.setApplyStatus(applyUser.getApplyStatus());
|
||||
trainingUser.setExamineStatus(ExamineStatusEnum.PENDING.getCode());
|
||||
// 默认有效期1年
|
||||
trainingUser.setStartTime(LocalDateTime.now());
|
||||
trainingUser.setEndTime(LocalDateTime.now().plusYears(1));
|
||||
return trainingUser;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
package com.zcloud.edu.gatewayimpl.training;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyProcessGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:02
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyProcessGatewayImpl implements TrainingApplyProcessGateway {
|
||||
private final TrainingApplyProcessRepository trainingApplyProcessRepository;
|
||||
|
||||
@Override
|
||||
public Boolean add(TrainingApplyProcessE trainingApplyProcessE) {
|
||||
TrainingApplyProcessDO d = new TrainingApplyProcessDO(StrUtil.isBlank(trainingApplyProcessE.getTrainingApplyProcessId())
|
||||
? Tools.get32UUID() : trainingApplyProcessE.getTrainingApplyProcessId());
|
||||
BeanUtils.copyProperties(trainingApplyProcessE, d,"trainingApplyProcessId");
|
||||
trainingApplyProcessRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean addBatch(List<TrainingApplyProcessE> processes) {
|
||||
if (CollectionUtils.isEmpty(processes)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
List<TrainingApplyProcessDO> processDOList = processes.stream()
|
||||
.map(process -> {
|
||||
TrainingApplyProcessDO processDO = new TrainingApplyProcessDO();
|
||||
BeanUtils.copyProperties(process, processDO);
|
||||
return processDO;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return trainingApplyProcessRepository.saveBatch(processDOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(TrainingApplyProcessE trainingApplyProcessE) {
|
||||
TrainingApplyProcessDO d = new TrainingApplyProcessDO();
|
||||
BeanUtils.copyProperties(trainingApplyProcessE, d);
|
||||
trainingApplyProcessRepository.updateById(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingApplyProcessById(Long id) {
|
||||
return trainingApplyProcessRepository.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingApplyProcessByIds(Long[] ids) {
|
||||
return trainingApplyProcessRepository.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TrainingApplyProcessE> listByRecordId(String trainingApplyRecordId) {
|
||||
List<TrainingApplyProcessDO> processDOList = trainingApplyProcessRepository.list(new LambdaQueryWrapper<TrainingApplyProcessDO>()
|
||||
.eq(TrainingApplyProcessDO::getTrainingApplyRecordId, trainingApplyRecordId)
|
||||
);
|
||||
return processDOList.stream()
|
||||
.map(processDO -> {
|
||||
TrainingApplyProcessE process = new TrainingApplyProcessE();
|
||||
BeanUtils.copyProperties(processDO, process);
|
||||
return process;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package com.zcloud.edu.gatewayimpl.training;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyRecordGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyRecordE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:49
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyRecordGatewayImpl implements TrainingApplyRecordGateway {
|
||||
private final TrainingApplyRecordRepository trainingApplyRecordRepository;
|
||||
|
||||
@Override
|
||||
public Boolean add(TrainingApplyRecordE trainingApplyRecordE) {
|
||||
TrainingApplyRecordDO d = new TrainingApplyRecordDO(StrUtil.isNotBlank(trainingApplyRecordE.getTrainingApplyRecordId())
|
||||
? trainingApplyRecordE.getTrainingApplyRecordId() :Tools.get32UUID());
|
||||
BeanUtils.copyProperties(trainingApplyRecordE, d,"trainingApplyRecordId");
|
||||
trainingApplyRecordRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(TrainingApplyRecordE trainingApplyRecordE) {
|
||||
TrainingApplyRecordDO d = new TrainingApplyRecordDO();
|
||||
BeanUtils.copyProperties(trainingApplyRecordE, d);
|
||||
trainingApplyRecordRepository.updateById(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingApplyRecordById(Long id) {
|
||||
return trainingApplyRecordRepository.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingApplyRecordByIds(Long[] ids) {
|
||||
return trainingApplyRecordRepository.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 培训申请记录详情
|
||||
*/
|
||||
@Override
|
||||
public TrainingApplyRecordE getById(Long id) {
|
||||
TrainingApplyRecordDO recordDO = trainingApplyRecordRepository.getById(id);
|
||||
if (recordDO == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
TrainingApplyRecordE recordE = new TrainingApplyRecordE();
|
||||
BeanUtils.copyProperties(recordDO, recordE);
|
||||
return recordE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean approve(TrainingApplyRecordE trainingApplyRecordE) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
package com.zcloud.edu.gatewayimpl.training;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingApplyUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyUserE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:35
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingApplyUserGatewayImpl implements TrainingApplyUserGateway {
|
||||
private final TrainingApplyUserRepository trainingApplyUserRepository;
|
||||
|
||||
@Override
|
||||
public Boolean add(TrainingApplyUserE trainingApplyUserE) {
|
||||
TrainingApplyUserDO d = new TrainingApplyUserDO(StrUtil.isBlank(trainingApplyUserE.getTrainingApplyUserId()) ?
|
||||
Tools.get32UUID() : trainingApplyUserE.getTrainingApplyUserId());
|
||||
BeanUtils.copyProperties(trainingApplyUserE, d,"trainingApplyUserId");
|
||||
trainingApplyUserRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean addBatch(List<TrainingApplyUserE> trainingApplyUserEList) {
|
||||
// 使用 Stream 流进行转换
|
||||
List<TrainingApplyUserDO> doList = trainingApplyUserEList.stream()
|
||||
.map(e -> {
|
||||
TrainingApplyUserDO d = new TrainingApplyUserDO(Tools.get32UUID());
|
||||
BeanUtils.copyProperties(e, d, "trainingApplyUserId");
|
||||
return d;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
trainingApplyUserRepository.saveBatch(doList);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(TrainingApplyUserE trainingApplyUserE) {
|
||||
TrainingApplyUserDO d = new TrainingApplyUserDO();
|
||||
BeanUtils.copyProperties(trainingApplyUserE, d);
|
||||
trainingApplyUserRepository.updateById(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingApplyUserById(Long id) {
|
||||
return trainingApplyUserRepository.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingApplyUserByIds(Long[] ids) {
|
||||
return trainingApplyUserRepository.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateStatusByApprove(List<TrainingApplyUserE> trainingApplyUserE) {
|
||||
List<TrainingApplyUserDO> doList = trainingApplyUserE.stream()
|
||||
.map(e -> {
|
||||
TrainingApplyUserDO d = new TrainingApplyUserDO();
|
||||
BeanUtils.copyProperties(e, d);
|
||||
return d;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
return trainingApplyUserRepository.updateBatchById(doList);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package com.zcloud.edu.gatewayimpl.training;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.zcloud.edu.domain.gateway.training.TrainingUserGateway;
|
||||
import com.zcloud.edu.domain.model.training.TrainingUserE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingUserDO;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingUserRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:04
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class TrainingUserGatewayImpl implements TrainingUserGateway {
|
||||
private final TrainingUserRepository trainingUserRepository;
|
||||
|
||||
@Override
|
||||
public Boolean add(TrainingUserE trainingUserE) {
|
||||
TrainingUserDO d = new TrainingUserDO(StrUtil.isBlank(trainingUserE.getTrainingUserId())
|
||||
? Tools.get32UUID() : trainingUserE.getTrainingUserId());
|
||||
BeanUtils.copyProperties(trainingUserE, d,"trainingUserId");
|
||||
trainingUserRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean addBatch(List<TrainingUserE> trainingUserEList) {
|
||||
// 使用 Stream 流进行转换
|
||||
List<TrainingUserDO> doList = trainingUserEList.stream()
|
||||
.map(e -> {
|
||||
TrainingUserDO d = new TrainingUserDO(Tools.get32UUID());
|
||||
BeanUtils.copyProperties(e, d, "trainingUserId");
|
||||
return d;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
trainingUserRepository.saveBatch(doList);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(TrainingUserE trainingUserE) {
|
||||
TrainingUserDO d = new TrainingUserDO();
|
||||
BeanUtils.copyProperties(trainingUserE, d);
|
||||
trainingUserRepository.updateById(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingUserById(Long id) {
|
||||
return trainingUserRepository.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedTrainingUserByIds(Long[] ids) {
|
||||
return trainingUserRepository.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package com.zcloud.edu.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:02
|
||||
*/
|
||||
@Data
|
||||
@TableName("training_apply_process")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class TrainingApplyProcessDO extends BaseDO {
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingApplyProcessId;
|
||||
//培训申请记录id
|
||||
@ApiModelProperty(value = "培训申请记录id")
|
||||
private String trainingApplyRecordId;
|
||||
//审批类型(1:发起,2:审批,3:委托)
|
||||
@ApiModelProperty(value = "审批类型(1:发起,2:审批,3:委托)")
|
||||
private Long applyType;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//企业id
|
||||
@ApiModelProperty(value = "企业id")
|
||||
private Long corpinfoId;
|
||||
//部门id
|
||||
@ApiModelProperty(value = "部门id")
|
||||
private Long departmentId;
|
||||
//用户id
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
|
||||
public TrainingApplyProcessDO(String trainingApplyProcessId) {
|
||||
this.trainingApplyProcessId = trainingApplyProcessId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.zcloud.edu.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:48
|
||||
*/
|
||||
@Data
|
||||
@TableName("training_apply_record")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class TrainingApplyRecordDO extends BaseDO {
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingApplyRecordId;
|
||||
//申请企业id
|
||||
@ApiModelProperty(value = "申请企业id")
|
||||
private Long applyCorpinfoId;
|
||||
//申请企业名称
|
||||
@ApiModelProperty(value = "申请企业名称")
|
||||
@TableField(exist = false)
|
||||
private String applyCorpName;
|
||||
//申请部门id
|
||||
@ApiModelProperty(value = "申请部门id")
|
||||
private Long applyDepartmentId;
|
||||
//申请用户id
|
||||
@ApiModelProperty(value = "申请用户id")
|
||||
private Long applyUserId;
|
||||
//审批企业id
|
||||
@ApiModelProperty(value = "审批企业id")
|
||||
private Long approvalCorpinfoId;
|
||||
//审批部门id
|
||||
@ApiModelProperty(value = "审批部门id")
|
||||
private Long approvalDepartmentId;
|
||||
//审批用户id
|
||||
@ApiModelProperty(value = "审批用户id")
|
||||
private Long approvalUserId;
|
||||
// 关联项目
|
||||
@ApiModelProperty(value = "关联项目")
|
||||
private String projectName;
|
||||
//审批状态1:待审批2:审批中,3:审批完成
|
||||
@ApiModelProperty(value = "审批状态1:待审批2:审批中,3:审批完成")
|
||||
private Long approvalStatus;
|
||||
|
||||
// 申请人数
|
||||
@TableField(exist = false)
|
||||
private Integer applyUserCount;
|
||||
|
||||
// 申请人姓名
|
||||
@TableField(exist = false)
|
||||
private String applyUserName;
|
||||
|
||||
public TrainingApplyRecordDO(String trainingApplyRecordId) {
|
||||
this.trainingApplyRecordId = trainingApplyRecordId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package com.zcloud.edu.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:34
|
||||
*/
|
||||
@Data
|
||||
@TableName("training_apply_user")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class TrainingApplyUserDO extends BaseDO {
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingApplyUserId;
|
||||
//培训申请记录id
|
||||
@ApiModelProperty(value = "培训申请记录id")
|
||||
private String trainingApplyRecordId;
|
||||
//用户id
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//身份证号
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String idCard;
|
||||
//申请状态1:待审批2:审批通过,3:审批不通过
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过")
|
||||
private Long applyStatus;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String userName;
|
||||
|
||||
public TrainingApplyUserDO(String trainingApplyUserId) {
|
||||
this.trainingApplyUserId = trainingApplyUserId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.zcloud.edu.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:03
|
||||
*/
|
||||
@Data
|
||||
@TableName("training_user")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class TrainingUserDO extends BaseDO {
|
||||
//业务主键id
|
||||
@ApiModelProperty(value = "业务主键id")
|
||||
private String trainingUserId;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//申请状态1:待审批2:审批通过,3:审批不通过
|
||||
@ApiModelProperty(value = "申请状态1:待审批2:审批通过,3:审批不通过")
|
||||
private Long applyStatus;
|
||||
//有效期开始时间
|
||||
@ApiModelProperty(value = "有效期开始时间")
|
||||
private LocalDateTime startTime;
|
||||
//有效期结束时间
|
||||
@ApiModelProperty(value = "有效期结束时间")
|
||||
private LocalDateTime endTime;
|
||||
//考试状态:1.待考试2:考试通过,3:考试不通过
|
||||
@ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过")
|
||||
private Long examineStatus;
|
||||
|
||||
public TrainingUserDO(String trainingUserId) {
|
||||
this.trainingUserId = trainingUserId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.zcloud.edu.persistence.mapper;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.ApproveDetailE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:03
|
||||
*/
|
||||
@Mapper
|
||||
public interface TrainingApplyProcessMapper extends BaseMapper<TrainingApplyProcessDO> {
|
||||
|
||||
|
||||
/**
|
||||
* 根据记录ID查询审批节点
|
||||
*/
|
||||
List<TrainingApplyProcessNodeE> selectProcessNodeByRecordId(@Param("recordId") String recordId);
|
||||
|
||||
/**
|
||||
* 查询审批和微信信息
|
||||
*/
|
||||
List<ApproveDetailE> selectApproveDetailList(@Param("trainingApplyRecordId") String trainingApplyRecordId);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.zcloud.edu.persistence.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:49
|
||||
*/
|
||||
@Mapper
|
||||
public interface TrainingApplyRecordMapper extends BaseMapper<TrainingApplyRecordDO> {
|
||||
|
||||
/**
|
||||
* 培训申请记录分页
|
||||
*/
|
||||
IPage<TrainingApplyRecordDO> selectTrainingRecordPage(IPage<TrainingApplyRecordDO> page, @Param("ew") QueryWrapper<TrainingApplyRecordDO> queryWrapper);
|
||||
|
||||
/**
|
||||
* 培训申请记录详情
|
||||
*/
|
||||
com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE selectByBusinessId(@Param("id") Long id);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.zcloud.edu.persistence.mapper;
|
||||
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:36
|
||||
*/
|
||||
@Mapper
|
||||
public interface TrainingApplyUserMapper extends BaseMapper<TrainingApplyUserDO> {
|
||||
|
||||
/**
|
||||
* 根据申请记录ID查询申请人员(含姓名、身份证等)
|
||||
*/
|
||||
List<TrainingApplyUserDO> selectByRecordId(@Param("trainingApplyRecordId") String trainingApplyRecordId);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.zcloud.edu.persistence.mapper;
|
||||
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingUserDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:04
|
||||
*/
|
||||
@Mapper
|
||||
public interface TrainingUserMapper extends BaseMapper<TrainingUserDO> {
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package com.zcloud.edu.persistence.repository.impl;
|
||||
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.zcloud.edu.domain.model.training.ApproveDetailE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO;
|
||||
import com.zcloud.edu.persistence.mapper.TrainingApplyProcessMapper;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:04
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TrainingApplyProcessRepositoryImpl extends BaseRepositoryImpl<TrainingApplyProcessMapper, TrainingApplyProcessDO> implements TrainingApplyProcessRepository {
|
||||
private final TrainingApplyProcessMapper trainingApplyProcessMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingApplyProcessDO> listPage(Map<String,Object> params) {
|
||||
IPage<TrainingApplyProcessDO> iPage = new Query<TrainingApplyProcessDO>().getPage(params);
|
||||
QueryWrapper<TrainingApplyProcessDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<TrainingApplyProcessDO> result = trainingApplyProcessMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TrainingApplyProcessDO> list(Map<String, Object> params) {
|
||||
QueryWrapper<TrainingApplyProcessDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
return trainingApplyProcessMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TrainingApplyProcessNodeE> getProcessNodeByRecordId(String recordId) {
|
||||
return trainingApplyProcessMapper.selectProcessNodeByRecordId(recordId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ApproveDetailE> getApproveDetailList(String trainingApplyRecordId) {
|
||||
return trainingApplyProcessMapper.selectApproveDetailList(trainingApplyRecordId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package com.zcloud.edu.persistence.repository.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO;
|
||||
import com.zcloud.edu.persistence.mapper.TrainingApplyRecordMapper;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:51
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TrainingApplyRecordRepositoryImpl extends BaseRepositoryImpl<TrainingApplyRecordMapper, TrainingApplyRecordDO> implements TrainingApplyRecordRepository {
|
||||
private final TrainingApplyRecordMapper trainingApplyRecordMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingApplyRecordDO> listPage(Map<String,Object> params) {
|
||||
IPage<TrainingApplyRecordDO> iPage = new Query<TrainingApplyRecordDO>().getPage(params);
|
||||
QueryWrapper<TrainingApplyRecordDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<TrainingApplyRecordDO> result = trainingApplyRecordMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingApplyRecordDO> listPageSql(Map<String, Object> params) {
|
||||
IPage<TrainingApplyRecordDO> iPage = new Query<TrainingApplyRecordDO>().getPage(params);
|
||||
QueryWrapper<TrainingApplyRecordDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
// SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
// queryWrapper.eq("approval_user_id", ssoUser.getUserId());
|
||||
IPage<TrainingApplyRecordDO> result = trainingApplyRecordMapper.selectTrainingRecordPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrainingApplyRecordDO getByTrainingRecordId(String id) {
|
||||
return trainingApplyRecordMapper.selectOne(new LambdaQueryWrapper<TrainingApplyRecordDO>()
|
||||
.eq(TrainingApplyRecordDO::getTrainingApplyRecordId, id)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE getDetailById(Long id) {
|
||||
return trainingApplyRecordMapper.selectByBusinessId(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
package com.zcloud.edu.persistence.repository.impl;
|
||||
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
|
||||
import com.zcloud.edu.persistence.mapper.TrainingApplyUserMapper;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:37
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TrainingApplyUserRepositoryImpl extends BaseRepositoryImpl<TrainingApplyUserMapper, TrainingApplyUserDO> implements TrainingApplyUserRepository {
|
||||
private final TrainingApplyUserMapper trainingApplyUserMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingApplyUserDO> listPage(Map<String,Object> params) {
|
||||
IPage<TrainingApplyUserDO> iPage = new Query<TrainingApplyUserDO>().getPage(params);
|
||||
QueryWrapper<TrainingApplyUserDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<TrainingApplyUserDO> result = trainingApplyUserMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TrainingApplyUserDO> getByRecordId(String trainingApplyRecordId) {
|
||||
return trainingApplyUserMapper.selectByRecordId(trainingApplyRecordId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.edu.persistence.repository.impl;
|
||||
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.zcloud.edu.domain.model.training.TrainingUserE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingUserDO;
|
||||
import com.zcloud.edu.persistence.mapper.TrainingUserMapper;
|
||||
import com.zcloud.edu.persistence.repository.training.TrainingUserRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:05
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TrainingUserRepositoryImpl extends BaseRepositoryImpl<TrainingUserMapper, TrainingUserDO> implements TrainingUserRepository {
|
||||
private final TrainingUserMapper trainingUserMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<TrainingUserDO> listPage(Map<String,Object> params) {
|
||||
IPage<TrainingUserDO> iPage = new Query<TrainingUserDO>().getPage(params);
|
||||
QueryWrapper<TrainingUserDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<TrainingUserDO> result = trainingUserMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.edu.persistence.repository.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.ApproveDetailE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessE;
|
||||
import com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:30:03
|
||||
*/
|
||||
public interface TrainingApplyProcessRepository extends BaseRepository<TrainingApplyProcessDO> {
|
||||
PageResponse<TrainingApplyProcessDO> listPage(Map<String,Object> params);
|
||||
|
||||
List<TrainingApplyProcessDO> list(Map<String,Object> params);
|
||||
|
||||
/**
|
||||
* 根据申请记录ID获取流程节点
|
||||
*/
|
||||
List<TrainingApplyProcessNodeE> getProcessNodeByRecordId(String recordId);
|
||||
|
||||
/**
|
||||
* 查询审批和委托信息
|
||||
*/
|
||||
List<ApproveDetailE> getApproveDetailList(String trainingApplyRecordId);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.zcloud.edu.persistence.repository.training;
|
||||
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:21:51
|
||||
*/
|
||||
public interface TrainingApplyRecordRepository extends BaseRepository<TrainingApplyRecordDO> {
|
||||
PageResponse<TrainingApplyRecordDO> listPage(Map<String,Object> params);
|
||||
|
||||
PageResponse<TrainingApplyRecordDO> listPageSql(Map<String,Object> params);
|
||||
|
||||
TrainingApplyRecordDO getByTrainingRecordId(String id);
|
||||
|
||||
com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE getDetailById(Long id);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.zcloud.edu.persistence.repository.training;
|
||||
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:36:37
|
||||
*/
|
||||
public interface TrainingApplyUserRepository extends BaseRepository<TrainingApplyUserDO> {
|
||||
|
||||
PageResponse<TrainingApplyUserDO> listPage(Map<String,Object> params);
|
||||
|
||||
/**
|
||||
* 根据申请记录ID查询申请人员(含姓名、身份证等)
|
||||
*/
|
||||
List<TrainingApplyUserDO> getByRecordId(String trainingApplyRecordId);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.zcloud.edu.persistence.repository.training;
|
||||
|
||||
import com.zcloud.edu.domain.model.training.TrainingUserE;
|
||||
import com.zcloud.edu.persistence.dataobject.TrainingUserDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
* @Author makejava
|
||||
* @Date 2026-01-12 15:41:05
|
||||
*/
|
||||
public interface TrainingUserRepository extends BaseRepository<TrainingUserDO> {
|
||||
PageResponse<TrainingUserDO> listPage(Map<String,Object> params);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.edu.persistence.mapper.TrainingApplyProcessMapper">
|
||||
|
||||
<select id="selectProcessNodeByRecordId"
|
||||
resultType="com.zcloud.edu.domain.model.training.TrainingApplyProcessNodeE">
|
||||
SELECT
|
||||
CASE tap.apply_type
|
||||
WHEN 1 THEN '发起'
|
||||
WHEN 2 THEN '审批'
|
||||
WHEN 3 THEN '委托'
|
||||
ELSE '未知'
|
||||
END AS nodeName,
|
||||
tar.approval_status AS approvalStatus,
|
||||
u.username AS username,
|
||||
tap.apply_type AS applyType,
|
||||
DATE_FORMAT(tap.create_time, '%Y-%m-%d %H:%i:%s') AS time
|
||||
FROM
|
||||
training_apply_process tap
|
||||
LEFT JOIN
|
||||
training_apply_record tar
|
||||
ON tap.training_apply_record_id = tar.training_apply_record_id
|
||||
LEFT JOIN
|
||||
`user` u
|
||||
ON u.id = tap.user_id
|
||||
WHERE
|
||||
tap.training_apply_record_id = #{recordId}
|
||||
AND tap.delete_enum = 'false'
|
||||
ORDER BY tap.create_time ASC
|
||||
</select>
|
||||
|
||||
<select id="selectApproveDetailList" resultType="com.zcloud.edu.domain.model.training.ApproveDetailE">
|
||||
SELECT
|
||||
tap.apply_type AS approveType,
|
||||
ci.corp_name AS approveCorpName,
|
||||
d.name AS approveDeptName,
|
||||
u.name AS approveUserName
|
||||
FROM
|
||||
training_apply_process tap
|
||||
LEFT JOIN
|
||||
corp_info ci ON tap.corpinfo_id = ci.id AND ci.delete_enum = 'false'
|
||||
LEFT JOIN
|
||||
department d ON tap.department_id = d.id AND d.delete_enum = 'false'
|
||||
LEFT JOIN
|
||||
user u ON tap.user_id = u.id AND u.delete_enum = 'false'
|
||||
WHERE
|
||||
tap.training_apply_record_id = #{trainingApplyRecordId}
|
||||
AND tap.delete_enum = 'false'
|
||||
ORDER BY tap.create_time ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.edu.persistence.mapper.TrainingApplyRecordMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO">
|
||||
<id column="id" property="id"/>
|
||||
<result column="training_apply_record_id" property="trainingApplyRecordId"/>
|
||||
<result column="apply_corpinfo_id" property="applyCorpinfoId"/>
|
||||
<result column="apply_corp_name" property="applyCorpName"/>
|
||||
<result column="apply_department_id" property="applyDepartmentId"/>
|
||||
<result column="apply_user_id" property="applyUserId"/>
|
||||
<result column="approval_corpinfo_id" property="approvalCorpinfoId"/>
|
||||
<result column="approval_department_id" property="approvalDepartmentId"/>
|
||||
<result column="approval_user_id" property="approvalUserId"/>
|
||||
<result column="project_name" property="projectName"/>
|
||||
<result column="approval_status" property="approvalStatus"/>
|
||||
<result column="version" property="version"/>
|
||||
<result column="create_id" property="createId"/>
|
||||
<result column="create_name" property="createName"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_id" property="updateId"/>
|
||||
<result column="update_name" property="updateName"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="remarks" property="remarks"/>
|
||||
<result column="delete_enum" property="deleteEnum"/>
|
||||
<result column="tenant_id" property="tenantId"/>
|
||||
<result column="org_id" property="orgId"/>
|
||||
<result column="env" property="env"/>
|
||||
<!-- 扩展字段 -->
|
||||
<result column="apply_user_count" property="applyUserCount"/>
|
||||
<result column="apply_user_name" property="applyUserName"/>
|
||||
</resultMap>
|
||||
|
||||
<!--培训申请记录分页-->
|
||||
<select id="selectTrainingRecordPage" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
r.id,
|
||||
r.training_apply_record_id,
|
||||
r.apply_corpinfo_id,
|
||||
ci.corp_name AS apply_corp_name,
|
||||
r.apply_department_id,
|
||||
r.apply_user_id,
|
||||
r.approval_corpinfo_id,
|
||||
r.approval_department_id,
|
||||
r.approval_user_id,
|
||||
r.project_name,
|
||||
r.approval_status,
|
||||
r.version,
|
||||
u.username AS apply_user_name,
|
||||
COALESCE(tau_cnt.apply_user_count, 0) AS apply_user_count
|
||||
FROM
|
||||
training_apply_record r
|
||||
LEFT JOIN
|
||||
user u
|
||||
ON u.id = r.apply_user_id
|
||||
AND u.delete_enum = 'false'
|
||||
LEFT JOIN corp_info ci
|
||||
ON ci.id = r.apply_corpinfo_id
|
||||
AND ci.delete_enum = 'false'
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
training_apply_record_id,
|
||||
COUNT(1) AS apply_user_count
|
||||
FROM training_apply_user
|
||||
WHERE delete_enum = 'false'
|
||||
GROUP BY training_apply_record_id
|
||||
) tau_cnt
|
||||
ON tau_cnt.training_apply_record_id = r.training_apply_record_id
|
||||
WHERE
|
||||
r.delete_enum = 'false'
|
||||
<if test="ew != null and ew.sqlSegment != null and ew.sqlSegment != ''">
|
||||
AND ${ew.sqlSegment}
|
||||
</if>
|
||||
|
||||
</select>
|
||||
|
||||
<!--培训申请记录详情-->
|
||||
<select id="selectByBusinessId" resultType="com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE">
|
||||
SELECT
|
||||
r.*,
|
||||
(SELECT username FROM user WHERE id = r.apply_user_id AND delete_enum = 'FALSE') AS applyUserName,
|
||||
(SELECT corp_name FROM corp_info WHERE id = r.apply_corpinfo_id AND delete_enum = 'FALSE') AS applyCorpName,
|
||||
(SELECT username FROM user WHERE id = r.approval_user_id AND delete_enum = 'FALSE') AS approvalUserName,
|
||||
(SELECT name FROM department WHERE id = r.approval_department_id AND delete_enum = 'FALSE') AS approvalDepartmentName,
|
||||
(SELECT corp_name FROM corp_info WHERE id = r.approval_corpinfo_id AND delete_enum = 'FALSE') AS approvalCorpName
|
||||
FROM
|
||||
training_apply_record r
|
||||
WHERE
|
||||
r.id = #{id}
|
||||
AND r.delete_enum = 'false'
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.edu.persistence.mapper.TrainingApplyUserMapper">
|
||||
|
||||
<!-- 根据申请记录ID查询申请人员(含用户信息)-->
|
||||
<select id="selectByRecordId" resultType="com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO">
|
||||
SELECT
|
||||
tau.id,
|
||||
tau.training_apply_user_id as trainingApplyUserId,
|
||||
tau.training_apply_record_id as trainingApplyRecordId,
|
||||
tau.user_id as userId,
|
||||
tau.phone,
|
||||
tau.apply_status as applyStatus,
|
||||
tau.remarks,
|
||||
u.username,
|
||||
tau.id_card as idCard
|
||||
FROM
|
||||
training_apply_user tau
|
||||
LEFT JOIN
|
||||
user u ON tau.user_id = u.id
|
||||
AND u.delete_enum = 'false'
|
||||
WHERE
|
||||
tau.training_apply_record_id = #{trainingApplyRecordId}
|
||||
AND tau.delete_enum = 'false'
|
||||
ORDER BY
|
||||
tau.create_time ASC
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.edu.persistence.mapper.TrainingUserMapper">
|
||||
|
||||
</mapper>
|
||||
|
||||
Loading…
Reference in New Issue