diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingSituationController.java new file mode 100644 index 00000000..dea89b35 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingSituationController.java @@ -0,0 +1,135 @@ +package com.jero.meeting.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.aspect.annotation.CompanyNameTranslate; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.exception.JeroBootException; +import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.meeting.common.MeetingCommon; +import com.jero.meeting.entity.PayMeeting; +import com.jero.meeting.entity.PayMeetingSituation; +import com.jero.meeting.service.IPayMeetingSituationService; +import com.jero.meeting.vo.PayMeetingSituationVO; +import com.jero.project.common.PayProjectCommon; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +/** + * @description: 参会人员信息 + * @author: jero-boot + * @date: 2021-09-02 + * @version: V1.0 + */ +@Api(tags = "参会人员信息-起草组会议") +@RestController +@RequestMapping("/meeting/draftGroupMeetingSituation") +@Slf4j +public class DraftGroupMeetingSituationController extends JeroController { + @Resource + private IPayMeetingSituationService payMeetingSituationService; + + private final Integer MEETING_TYPE = MeetingCommon.DRAFTING_GROUP_MEETING_INT; + + /** + * 分页列表查询 + */ + @CompanyNameTranslate +// @RequiresPermissions("draftGroupMeetingSituation:search") + @ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(PayMeetingSituation payMeetingSituation, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + String meetingId = payMeetingSituation.getMeetingId(); + if (StringUtils.isBlank(meetingId)) { + throw new JeroBootException("会议id不能为空"); + } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + String particularYear = req.getParameter("particularYear"); + if (StringUtils.isNotBlank(particularYear)) { + queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )", particularYear); + } + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper, MEETING_TYPE); + List situationList = pageList.getRecords(); + for (PayMeetingSituation meetingSituation : situationList) { + Integer payMode = meetingSituation.getPayMode(); + //汇款并且缴费凭证为空 + if (Objects.equals(payMode, 1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())) { + meetingSituation.setIdentification(PayProjectCommon.YES); + } else { + meetingSituation.setIdentification(PayProjectCommon.NO); + } + } + return Result.OK(pageList); + } + + /** + * 添加参会人 + */ +// @RequiresPermissions("draftGroupMeetingSituation:add") + @AutoLog(value = "参会人员信息-添加参会人") + @ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人") + @PostMapping(value = "/add") + public Result add(@RequestBody PayMeetingSituation payMeetingSituation) { + payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + */ + @AutoLog(value = "参会人员信息-编辑") +// @RequiresPermissions("draftGroupMeetingSituation:edit") + @ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑") + @PostMapping(value = "/edit") + public Result edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { + payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + */ +// @RequiresPermissions("draftGroupMeetingSituation:delete") + @AutoLog(value = "参会人员信息-通过id删除") + @ApiOperation(value = "参会人员信息-通过id删除", notes = "参会人员信息-通过id删除") + @GetMapping(value = "/delete") + public Result delete(@RequestParam(name = "id") String id) { + if (StringUtils.isBlank(id)) { + return Result.error("会议成员id不能为空"); + } + payMeetingSituationService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + */ +// @RequiresPermissions("draftGroupMeetingSituation:batchDel") + @AutoLog(value = "参会人员信息-批量删除") + @ApiOperation(value = "参会人员信息-批量删除", notes = "参会人员信息-批量删除") + @GetMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids") String ids) { + if (StringUtils.isBlank(ids)) { + return Result.error("会议成员id不能为空"); + } + this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } +} \ No newline at end of file