From 836539b11e4871784db19058110b28b90c7c006e Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 25 九月 2025 11:55:31 +0800 Subject: [PATCH] 审批代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationsController.java | 74 +++++++++++++++++++++++++++--------- 1 files changed, 55 insertions(+), 19 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationsController.java index 4440d2e..904166f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationsController.java @@ -6,13 +6,31 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.TDept; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.dto.*; -import com.ruoyi.system.emums.ApprovalFlowNodeEnum; +import com.ruoyi.system.dto.AddAdvertisementDTO; +import com.ruoyi.system.dto.AddBusinessTripDTO; +import com.ruoyi.system.dto.AddContactDTO; +import com.ruoyi.system.dto.AddContractDTO; +import com.ruoyi.system.dto.AddLeaveDTO; +import com.ruoyi.system.dto.AddLeaveDestroyDTO; +import com.ruoyi.system.dto.AddMoneyDTO; +import com.ruoyi.system.dto.AddOutDTO; +import com.ruoyi.system.dto.AddPaymentDTO; +import com.ruoyi.system.dto.AddReimbursementDTO; +import com.ruoyi.system.emums.ApprovalStatusEnum; import com.ruoyi.system.emums.ApprovalTypeEnum; -import com.ruoyi.system.model.*; +import com.ruoyi.system.model.OaApprovalApplicationAdvertisement; +import com.ruoyi.system.model.OaApprovalApplicationAttendance; +import com.ruoyi.system.model.OaApprovalApplicationContact; +import com.ruoyi.system.model.OaApprovalApplicationContract; +import com.ruoyi.system.model.OaApprovalApplicationMoney; +import com.ruoyi.system.model.OaApprovalApplicationPayment; +import com.ruoyi.system.model.OaApprovalApplicationReimbursement; +import com.ruoyi.system.model.OaApprovalApplicationReimbursementItem; import com.ruoyi.system.model.OaApprovalApplications; +import com.ruoyi.system.model.OaApprovalFlowNode; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.OaApprovalApplicationAdvertisementService; import com.ruoyi.system.service.OaApprovalApplicationAttendanceService; @@ -30,13 +48,8 @@ import com.ruoyi.system.utils.UUIDUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import oshi.driver.mac.net.NetStat; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; @@ -47,8 +60,6 @@ import java.util.Date; import java.util.List; import java.util.stream.Collectors; -import com.ruoyi.system.emums.ApprovalStatusEnum; -import com.ruoyi.common.exception.ServiceException; /** * <p> @@ -93,6 +104,7 @@ @Resource private OaApprovalTodoService oaApprovalTodoService; @Log(title = "审批-发起请假", businessType = BusinessType.INSERT) + @Transactional @ApiOperation(value = "发起请假") @PostMapping(value = "/addLeave") public R addLeave(@RequestBody AddLeaveDTO dto) { @@ -161,6 +173,7 @@ @Log(title = "审批-发起外出申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起外出申请") @PostMapping(value = "/addOut") + @Transactional public R addOut(@RequestBody AddOutDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String code = "Out-"+sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); @@ -225,6 +238,7 @@ } @Log(title = "审批-发起出差申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起出差申请") + @Transactional @PostMapping(value = "/addBusinessTrip") public R addBusinessTrip(@RequestBody AddBusinessTripDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -289,6 +303,7 @@ } @Log(title = "审批-发起销假申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起销假申请") + @Transactional @PostMapping(value = "/addLeaveDestroy") public R addLeaveDestroy(@RequestBody AddLeaveDestroyDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -329,8 +344,8 @@ // 根据请假时间 查询请假申请记录 OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery() .in(OaApprovalApplicationAttendance::getApprovalApplicationId,approvalIds) - .ge(OaApprovalApplicationAttendance::getStartTime, dto.getStartTime()) - .le(OaApprovalApplicationAttendance::getEndTime, dto.getEndTime()) + .le(OaApprovalApplicationAttendance::getStartTime, dto.getStartTime()) + .ge(OaApprovalApplicationAttendance::getEndTime, dto.getEndTime()) .eq(OaApprovalApplicationAttendance::getIsLeave, 1) .orderByDesc(OaApprovalApplicationAttendance::getId) .last("limit 1").one(); @@ -350,9 +365,24 @@ Integer.valueOf(sysUser.getDeptId())); return R.ok(); } - + @ApiOperation(value = "查询当前用户审批通过且未销假的请假单") + @GetMapping(value = "/listLeaveApplications") + public R<List<OaApprovalApplicationAttendance>> listLeaveApplications() { + List<Integer> applicationsIds = approvalApplicationsService.lambdaQuery() + .eq(OaApprovalApplications::getApprovalId, ApprovalTypeEnum.LEAVE.getCode()) + .eq(OaApprovalApplications::getApplicantUserId, tokenService.getLoginUser().getUserId()) + .eq(OaApprovalApplications::getApprovalStatus, 2) + .list().stream().map(OaApprovalApplications::getId).collect(Collectors.toList()); + if (applicationsIds.isEmpty()){ + return R.ok(new ArrayList<>()); + } + List<OaApprovalApplicationAttendance> list = approvalApplicationAttendanceService.lambdaQuery() + .in(OaApprovalApplicationAttendance::getApprovalApplicationId, applicationsIds).list(); + return R.ok(list); + } @Log(title = "审批-发起报销申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起报销申请") + @Transactional @PostMapping(value = "/addReimbursement") public R addReimbursement(@RequestBody AddReimbursementDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -382,9 +412,10 @@ approvalApplicationReimbursementService.save(oaApprovalApplicationReimbursement); BigDecimal total = new BigDecimal(0); List<OaApprovalApplicationReimbursementItem> oaApprovalApplicationReimbursementItems = new ArrayList<>(); - for (OaApprovalApplicationReimbursementItem oaApprovalApplicationReimbursementItem : oaApprovalApplicationReimbursementItems) { - oaApprovalApplicationReimbursementItem.setApprovalApplicationId(oaApprovalApplicationReimbursement.getId()); + for (OaApprovalApplicationReimbursementItem oaApprovalApplicationReimbursementItem : dto.getItems()) { + oaApprovalApplicationReimbursementItem.setApprovalApplicationId(oaApprovalApplications.getId()); total = total.add(oaApprovalApplicationReimbursementItem.getAmount()); + oaApprovalApplicationReimbursementItems.add(oaApprovalApplicationReimbursementItem); } oaApprovalApplicationReimbursement.setReimbursementAmount(total); approvalApplicationReimbursementService.updateById(oaApprovalApplicationReimbursement); @@ -396,6 +427,7 @@ } @Log(title = "审批-发起款项申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起款项申请") + @Transactional @PostMapping(value = "/addMoney") public R addMoney(@RequestBody AddMoneyDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -431,6 +463,7 @@ @Log(title = "审批-发起合同文件申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起合同文件申请") @PostMapping(value = "/addContract") + @Transactional public R addContract(@RequestBody AddContractDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String code = "Contract-"+sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); @@ -467,6 +500,7 @@ } @Log(title = "审批-发起进度款支付申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起进度款支付申请") + @Transactional @PostMapping(value = "/addPayment") public R addPayment(@RequestBody AddPaymentDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -505,6 +539,7 @@ } @Log(title = "审批-发起内部联系单申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起内部联系单申请") + @Transactional @PostMapping(value = "/addContact") public R addContact(@RequestBody AddContactDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -540,6 +575,7 @@ } @Log(title = "审批-发起广告制作申请", businessType = BusinessType.INSERT) @ApiOperation(value = "发起广告制作申请") + @Transactional @PostMapping(value = "/addAdvertisement") public R addAdvertisement(@RequestBody AddAdvertisementDTO dto) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -581,9 +617,9 @@ } @Log(title = "审批-撤回通用审批单", businessType = BusinessType.UPDATE) - @ApiOperation(value = "撤回审批单:仅更新状态为已撤回") + @ApiOperation(value = "撤回审批单(通用接口)") @PutMapping(value = "/withdraw/{id}") - public R withdraw(@PathVariable Integer id) { + public R<?> withdraw(@PathVariable Integer id) { OaApprovalApplications current = approvalApplicationsService.getById(id); if (current == null) { throw new ServiceException("审批单不存在"); -- Gitblit v1.7.1