From 96928bdb692c62e01105d1d6a7f4bd04df5aa3c0 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 17 十月 2025 16:39:08 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationsController.java | 67 ++++++++++++++++++++++----------- 1 files changed, 44 insertions(+), 23 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 29b8690..6351495 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 @@ -21,7 +21,7 @@ import com.ruoyi.system.dto.AddReimbursementDTO; import com.ruoyi.system.emums.ApprovalStatusEnum; import com.ruoyi.system.emums.ApprovalTypeEnum; -import com.ruoyi.system.model.OaApprovalApplicationAdvertisement; +import com.ruoyi.system.model.OaApprovalApplicationAd; import com.ruoyi.system.model.OaApprovalApplicationAttendance; import com.ruoyi.system.model.OaApprovalApplicationContact; import com.ruoyi.system.model.OaApprovalApplicationContract; @@ -32,7 +32,7 @@ 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.OaApprovalApplicationAdService; import com.ruoyi.system.service.OaApprovalApplicationAttendanceService; import com.ruoyi.system.service.OaApprovalApplicationContactService; import com.ruoyi.system.service.OaApprovalApplicationContractService; @@ -48,12 +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.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; @@ -84,7 +80,7 @@ @Resource private OaApprovalApplicationsService approvalApplicationsService; @Resource - private OaApprovalApplicationAdvertisementService approvalApplicationAdvertisementService; + private OaApprovalApplicationAdService approvalApplicationAdvertisementService; @Resource private OaApprovalApplicationContactService approvalApplicationContactService; @Resource @@ -108,6 +104,7 @@ @Resource private OaApprovalTodoService oaApprovalTodoService; @Log(title = "审批-发起请假", businessType = BusinessType.INSERT) + @Transactional @ApiOperation(value = "发起请假") @PostMapping(value = "/addLeave") public R addLeave(@RequestBody AddLeaveDTO dto) { @@ -176,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); @@ -240,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"); @@ -304,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"); @@ -344,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(); @@ -365,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"); @@ -397,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); @@ -411,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"); @@ -446,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); @@ -482,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"); @@ -520,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"); @@ -555,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"); @@ -580,15 +601,15 @@ .one(); oaApprovalApplications.setCurrentFlowNodeId(approvalFlowNode.getId()); approvalApplicationsService.save(oaApprovalApplications); - OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = new OaApprovalApplicationAdvertisement(); - oaApprovalApplicationAdvertisement.setApprovalApplicationId(oaApprovalApplications.getId()); - oaApprovalApplicationAdvertisement.setTitle(dto.getTitle()); - oaApprovalApplicationAdvertisement.setContent(dto.getContent()); - oaApprovalApplicationAdvertisement.setNumber(dto.getNumber()); - oaApprovalApplicationAdvertisement.setTotalAmount(dto.getTotalAmount()); - oaApprovalApplicationAdvertisement.setSpec(dto.getSpec()); - oaApprovalApplicationAdvertisement.setStatus(false); - approvalApplicationAdvertisementService.save(oaApprovalApplicationAdvertisement); + OaApprovalApplicationAd oaApprovalApplicationAd = new OaApprovalApplicationAd(); + oaApprovalApplicationAd.setApprovalApplicationId(oaApprovalApplications.getId()); + oaApprovalApplicationAd.setTitle(dto.getTitle()); + oaApprovalApplicationAd.setContent(dto.getContent()); + oaApprovalApplicationAd.setNumber(dto.getNumber()); + oaApprovalApplicationAd.setTotalAmount(dto.getTotalAmount()); + oaApprovalApplicationAd.setSpec(dto.getSpec()); + oaApprovalApplicationAd.setStatus(false); + approvalApplicationAdvertisementService.save(oaApprovalApplicationAd); // 根据节点类型 生成代办 oaApprovalTodoService.createApprovalTodos(oaApprovalApplications.getId(), code, approvalFlowNode, Integer.valueOf(sysUser.getDeptId())); -- Gitblit v1.7.1