| | |
| | | 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.service.*; |
| | | 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; |
| | | import com.ruoyi.system.service.OaApprovalApplicationContactService; |
| | | import com.ruoyi.system.service.OaApprovalApplicationContractService; |
| | | import com.ruoyi.system.service.OaApprovalApplicationMoneyService; |
| | | import com.ruoyi.system.service.OaApprovalApplicationPaymentService; |
| | | import com.ruoyi.system.service.OaApprovalApplicationReimbursementItemService; |
| | | import com.ruoyi.system.service.OaApprovalApplicationReimbursementService; |
| | | import com.ruoyi.system.service.OaApprovalApplicationsService; |
| | | import com.ruoyi.system.service.OaApprovalFlowNodeService; |
| | | import com.ruoyi.system.service.OaApprovalService; |
| | | import com.ruoyi.system.service.OaApprovalTodoService; |
| | | import com.ruoyi.system.service.TDeptService; |
| | | import com.ruoyi.system.utils.UUIDUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | 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; |
| | |
| | | @Resource |
| | | private OaApprovalTodoService oaApprovalTodoService; |
| | | @Log(title = "审批-发起请假", businessType = BusinessType.INSERT) |
| | | @Transactional |
| | | @ApiOperation(value = "发起请假") |
| | | @PostMapping(value = "/addLeave") |
| | | public R addLeave(@RequestBody AddLeaveDTO dto) { |
| | |
| | | @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); |
| | |
| | | } |
| | | @Log(title = "审批-发起出差申请", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "发起出差申请") |
| | | @Transactional |
| | | @PostMapping(value = "/addBusinessTrip") |
| | | public R addBusinessTrip(@RequestBody AddBusinessTripDTO dto) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | |
| | | } |
| | | @Log(title = "审批-发起销假申请", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "发起销假申请") |
| | | @Transactional |
| | | @PostMapping(value = "/addLeaveDestroy") |
| | | public R addLeaveDestroy(@RequestBody AddLeaveDestroyDTO dto) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | |
| | | // 根据请假时间 查询请假申请记录 |
| | | 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(); |
| | |
| | | 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"); |
| | |
| | | } |
| | | @Log(title = "审批-发起款项申请", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "发起款项申请") |
| | | @Transactional |
| | | @PostMapping(value = "/addMoney") |
| | | public R addMoney(@RequestBody AddMoneyDTO dto) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | |
| | | @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); |
| | |
| | | } |
| | | @Log(title = "审批-发起进度款支付申请", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "发起进度款支付申请") |
| | | @Transactional |
| | | @PostMapping(value = "/addPayment") |
| | | public R addPayment(@RequestBody AddPaymentDTO dto) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | |
| | | } |
| | | @Log(title = "审批-发起内部联系单申请", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "发起内部联系单申请") |
| | | @Transactional |
| | | @PostMapping(value = "/addContact") |
| | | public R addContact(@RequestBody AddContactDTO dto) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | |
| | | } |
| | | @Log(title = "审批-发起广告制作申请", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "发起广告制作申请") |
| | | @Transactional |
| | | @PostMapping(value = "/addAdvertisement") |
| | | public R addAdvertisement(@RequestBody AddAdvertisementDTO dto) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | |
| | | Integer.valueOf(sysUser.getDeptId())); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Log(title = "审批-撤回通用审批单", businessType = BusinessType.UPDATE) |
| | | @ApiOperation(value = "撤回审批单(通用接口)") |
| | | @PutMapping(value = "/withdraw/{id}") |
| | | public R<?> withdraw(@PathVariable Integer id) { |
| | | OaApprovalApplications current = approvalApplicationsService.getById(id); |
| | | if (current == null) { |
| | | throw new ServiceException("审批单不存在"); |
| | | } |
| | | if (!ApprovalStatusEnum.PENDING.getCode().equals(current.getApprovalStatus())) { |
| | | throw new ServiceException("仅待审批状态可撤回"); |
| | | } |
| | | OaApprovalApplications update = new OaApprovalApplications(); |
| | | update.setId(id); |
| | | update.setApprovalStatus(ApprovalStatusEnum.CANCELED.getCode()); |
| | | approvalApplicationsService.updateById(update); |
| | | return R.ok(); |
| | | } |
| | | } |
| | | |