diff --git a/db/22年7月变更.sql b/db/22年7月变更.sql index 93663c5f..0d3d0008 100644 --- a/db/22年7月变更.sql +++ b/db/22年7月变更.sql @@ -25,4 +25,7 @@ ALTER TABLE `pay_case_committee` add COLUMN `principal_id_a` varchar (50) CHARAC ALTER TABLE `pay_case_committee` add COLUMN `principal_name_a` varchar (50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人名称A' ; ALTER TABLE `pay_case_committee` add COLUMN `principal_id_b` varchar (50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人Bid' ; ALTER TABLE `pay_case_committee` add COLUMN `principal_name_b` varchar (50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人名称B' ; - +--20220714 问题征集字典 +INSERT INTO sys_dict ( id, dict_name, dict_code, description, del_flag, create_by, create_time ) VALUES ( '1547479075568955393', '问题征集状态', 'questionStatue', '问题征集状态', 0, 'LKGLZ', '2022-07-14 15:12:17' ); +INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1547479215562240001', '1547479075568955393', '已结束', '0', '已结束', 1, 1, 'LKGLZ', '2022-07-14 15:12:50' ); +INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1547479261783470082', '1547479075568955393', '征集中', '1', '', 1, 1, 'LKGLZ', '2022-07-14 15:13:01' ); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index 92b7ec12..69bea06d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -28,13 +28,10 @@ import com.jero.data.service.IPayCaseCouncilSubitemService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.common.MeetingSubitemCommon; import com.jero.meeting.entity.*; -import com.jero.meeting.service.IPayMeetingContactsService; -import com.jero.meeting.service.IPayMeetingHotelContactsService; -import com.jero.meeting.service.IPayMeetingService; +import com.jero.meeting.service.*; 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.meeting.service.IPayMeetingSituationService; import com.jero.meeting.vo.PayMeetingVO; import com.jero.meeting.vo.UploadFileVO; import com.jero.meeting.vo.excel.*; @@ -54,6 +51,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -104,6 +102,8 @@ public class PayMeetingController extends JeroController list = payMeetingStandardService.list(new LambdaQueryWrapper().eq(PayMeetingStandard::getMeetingId, meeting.getId())); + meeting.setQuestionList(list); + Optional.ofNullable(meeting.getAddQuestionStatue()).ifPresent(statue->{ + if (meeting.getEndTimeAddQuestion().before(new Date())) { + if(1==statue){ + PayMeeting payMeeting1 = new PayMeeting(); + payMeeting1.setAddQuestionStatue(0); + payMeeting1.setId(meeting.getId()); + payMeetingService.updateById(payMeeting1); + } + } + }); } return Result.OK(pageList); @@ -271,7 +283,19 @@ public class PayMeetingController extends JeroController {payMeetingVO.setQuestionList(JSONObject.parseArray(s, Question.class));}); + List list = payMeetingStandardService.list(new LambdaQueryWrapper().eq(PayMeetingStandard::getMeetingId, meeting.getId())); + payMeetingVO.setQuestionList(list); + Optional.ofNullable(payMeetingVO.getAddQuestionStatue()).ifPresent(statue->{ + if (payMeetingVO.getEndTimeAddQuestion().before(new Date())) { + if(1==statue){ + PayMeeting payMeeting1 = new PayMeeting(); + payMeeting1.setAddQuestionStatue(0); + payMeeting1.setId(meeting.getId()); + payMeetingService.updateById(payMeeting1); + } + } + }); + String meetingType = meeting.getMeetingType().toString(); payMeetingVO.setMeetingType(meetingType); if (meeting.getTbMeetingType() != null) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingQuestionController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingQuestionController.java index 4b966328..9be1cb17 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingQuestionController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingQuestionController.java @@ -3,11 +3,13 @@ package com.jero.meeting.controller; import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.annotation.Resource; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.common.api.vo.Result; @@ -17,10 +19,13 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.mail.commont.constant; +import com.jero.meeting.entity.AllStandardQuestion; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingQuestion; +import com.jero.meeting.entity.PayMeetingStandard; import com.jero.meeting.service.IPayMeetingQuestionService; import com.jero.meeting.service.IPayMeetingService; +import com.jero.meeting.service.IPayMeetingStandardService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -50,6 +55,8 @@ public class PayMeetingQuestionController extends JeroController queryPageList(PayMeetingQuestion payMeetingQuestion, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isBlank(payMeetingQuestion.getMeetingId())) { - throw new JeroBootException("会议id不能为空!"); + if (StringUtils.isBlank(payMeetingQuestion.getStandardId())) { + throw new JeroBootException("标准号id不能为空!"); } - PayMeeting payMeeting = payMeetingService.getById(payMeetingQuestion.getMeetingId()); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if(StringUtils.isNotBlank(sysUser.getRoleCode())){ - List roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(","))); - if (!(roleCodes.contains(constant.ADMIN) || sysUser.getId().equals(payMeeting.getDirectorId()))) { - lambdaQueryWrapper.eq(PayMeetingQuestion::getCreaterId, payMeetingQuestion.getMeetingId()); - } - } - lambdaQueryWrapper.eq(StringUtils.isNotBlank(payMeetingQuestion.getMeetingId()), PayMeetingQuestion::getMeetingId, payMeetingQuestion.getMeetingId()); - lambdaQueryWrapper.eq(StringUtils.isNotBlank(payMeetingQuestion.getStandardNumber()), PayMeetingQuestion::getStandardNumber, payMeetingQuestion.getStandardNumber()); - lambdaQueryWrapper.like(StringUtils.isNotBlank(payMeetingQuestion.getCreater()), PayMeetingQuestion::getCreater, payMeetingQuestion.getCreater()); +// PayMeeting payMeeting = payMeetingService.getById(payMeetingQuestion.getMeetingId()); +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// if(StringUtils.isNotBlank(sysUser.getRoleCode())){ +// List roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(","))); +// if (!(roleCodes.contains(constant.ADMIN) || sysUser.getId().equals(payMeeting.getDirectorId()))) { +// lambdaQueryWrapper.eq(PayMeetingQuestion::getCreaterId, payMeetingQuestion.getMeetingId()); +// } +// } + lambdaQueryWrapper.like(StringUtils.isNotBlank(payMeetingQuestion.getQuestionName()), PayMeetingQuestion::getQuestionName, payMeetingQuestion.getQuestionName()); + lambdaQueryWrapper.eq(StringUtils.isNotBlank(payMeetingQuestion.getStandardId()), PayMeetingQuestion::getStandardId, payMeetingQuestion.getStandardId()); + lambdaQueryWrapper.like(StringUtils.isNotBlank(payMeetingQuestion.getNumber()), PayMeetingQuestion::getNumber, payMeetingQuestion.getNumber()); lambdaQueryWrapper.orderByDesc(PayMeetingQuestion::getCreateTime); Page page = new Page<>(pageNo, pageSize); IPage pageList = payMeetingQuestionService.page(page, lambdaQueryWrapper); return Result.ok(pageList); } + @AutoLog(value = "征集问题-分页列表查询 -一个会议所有标准号") + @ApiOperation(value = "征集问题-分页列表查询 -一个会议所有标准号", notes = "征集问题-分页列表查询-一个会议所有标准号") + @GetMapping(value = "/listALL") + public Result listALL(@RequestParam(name = "meetingId") String meetingId, + @RequestParam(name = "standardNumber",required = false) String standardNumber, + @RequestParam(name = "creater",required = false) String creater, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isBlank(meetingId)) { + throw new JeroBootException("会议id不能为空!"); + } +// PayMeeting payMeeting = payMeetingService.getById(payMeetingQuestion.getMeetingId()); +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// if(StringUtils.isNotBlank(sysUser.getRoleCode())){ +// List roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(","))); +// if (!(roleCodes.contains(constant.ADMIN) || sysUser.getId().equals(payMeeting.getDirectorId()))) { +// lambdaQueryWrapper.eq(PayMeetingQuestion::getCreaterId, payMeetingQuestion.getMeetingId()); +// } +// } + queryWrapper.eq(StringUtils.isNotBlank(standardNumber),"pms.standard_number", standardNumber); + queryWrapper.eq("pm.id", meetingId); + queryWrapper.like(StringUtils.isNotBlank(creater),"pmq.creater", creater); + queryWrapper.isNotNull("pmq.question_name"); + queryWrapper.orderByDesc("pmq.create_time"); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingQuestionService.pageList(page, queryWrapper); + return Result.ok(pageList); + } /** * 添加 @@ -98,8 +135,9 @@ public class PayMeetingQuestionController extends JeroController add(@RequestBody PayMeetingQuestion payMeetingQuestion) { - Optional.ofNullable(payMeetingQuestion.getMeetingId()).ifPresent(id -> { - PayMeeting payMeeting = payMeetingService.getById(id); + Optional.ofNullable(payMeetingQuestion.getStandardId()).ifPresent(id -> { + PayMeetingStandard payMeetingStandard = payMeetingStandardService.getById(id); + PayMeeting payMeeting = payMeetingService.getById(payMeetingStandard.getMeetingId()); if (ObjectUtils.isEmpty(payMeeting.getEndTimeAddQuestion()) || payMeeting.getEndTimeAddQuestion().before(new Date())) { throw new JeroBootException("征集问题截至时间以过,无法新增!"); } @@ -132,11 +170,14 @@ public class PayMeetingQuestionController extends JeroController lambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isBlank(payMeetingQuestion.getMeetingId())) { + if (StringUtils.isBlank(meetingId)) { throw new JeroBootException("会议id不能为空!"); } - lambdaQueryWrapper.eq(StringUtils.isNotBlank(payMeetingQuestion.getMeetingId()), PayMeetingQuestion::getMeetingId, payMeetingQuestion.getMeetingId()); - lambdaQueryWrapper.eq(StringUtils.isNotBlank(payMeetingQuestion.getStandardNumber()), PayMeetingQuestion::getStandardNumber, payMeetingQuestion.getStandardNumber()); - lambdaQueryWrapper.like(StringUtils.isNotBlank(payMeetingQuestion.getCreater()), PayMeetingQuestion::getCreater, payMeetingQuestion.getCreater()); - lambdaQueryWrapper.orderByDesc(PayMeetingQuestion::getCreateTime); - List pageList = payMeetingQuestionService.list(lambdaQueryWrapper); - Map> map = pageList.stream().collect(Collectors.groupingBy(PayMeetingQuestion::getStandardNumber)); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isBlank(meetingId)) { + throw new JeroBootException("会议id不能为空!"); + } +// PayMeeting payMeeting = payMeetingService.getById(payMeetingQuestion.getMeetingId()); +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// if(StringUtils.isNotBlank(sysUser.getRoleCode())){ +// List roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(","))); +// if (!(roleCodes.contains(constant.ADMIN) || sysUser.getId().equals(payMeeting.getDirectorId()))) { +// lambdaQueryWrapper.eq(PayMeetingQuestion::getCreaterId, payMeetingQuestion.getMeetingId()); +// } +// } + queryWrapper.eq(StringUtils.isNotBlank(standardNumber),"pms.standard_number", standardNumber); + queryWrapper.eq("pm.id", meetingId); + queryWrapper.like(StringUtils.isNotBlank(creater),"pmq.creater", creater); + queryWrapper.isNotNull("pmq.question_name"); + queryWrapper.orderByDesc("pmq.create_time"); + List pageList = payMeetingQuestionService.pageList2(queryWrapper); + Map> map = pageList.stream().collect(Collectors.groupingBy(AllStandardQuestion::getStandardNumber)); + // 1.创建工作簿 // InputStream is = getClass().getClassLoader().getResourceAsStream("excelTemplates/standard.xls"); @@ -188,7 +241,7 @@ public class PayMeetingQuestionController extends JeroController { + @Autowired + private IPayMeetingStandardService payMeetingStandardService; + + /** + * 分页列表查询 + * + * @param payMeetingStandard + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "标准问题-分页列表查询") + @ApiOperation(value="标准问题-分页列表查询", notes="标准问题-分页列表查询") + @GetMapping(value = "/list") + public Result queryPageList(PayMeetingStandard payMeetingStandard, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingStandard, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = payMeetingStandardService.page(page, queryWrapper); + return Result.ok(pageList); + } + + /** + * 添加 + * + * @param payMeetingStandard + * @return + */ + @AutoLog(value = "标准问题-添加") + @ApiOperation(value="标准问题-添加", notes="标准问题-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody PayMeetingStandard payMeetingStandard) { + payMeetingStandardService.save(payMeetingStandard); + return Result.ok("添加成功!"); + } + + /** + * 编辑 + * + * @param payMeetingStandard + * @return + */ + @AutoLog(value = "标准问题-编辑") + @ApiOperation(value="标准问题-编辑", notes="标准问题-编辑") + @PutMapping(value = "/edit") + public Result edit(@RequestBody PayMeetingStandard payMeetingStandard) { + payMeetingStandardService.updateById(payMeetingStandard); + return Result.ok("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "标准问题-通过id删除") + @ApiOperation(value="标准问题-通过id删除", notes="标准问题-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + payMeetingStandardService.removeById(id); + return Result.ok("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "标准问题-批量删除") + @ApiOperation(value="标准问题-批量删除", notes="标准问题-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.payMeetingStandardService.removeByIds(Arrays.asList(ids.split(","))); + return Result.ok("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "标准问题-通过id查询") + @ApiOperation(value="标准问题-通过id查询", notes="标准问题-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + PayMeetingStandard payMeetingStandard = payMeetingStandardService.getById(id); + return Result.ok(payMeetingStandard); + } + + /** + * 导出excel + * + * @param request + * @param payMeetingStandard + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, PayMeetingStandard payMeetingStandard) { + return super.exportXls(request, payMeetingStandard, PayMeetingStandard.class, "标准问题"); + } + + + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java index 4ee2f658..e2c9867b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java @@ -18,9 +18,11 @@ import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingHotelContacts; +import com.jero.meeting.entity.PayMeetingStandard; import com.jero.meeting.entity.Question; import com.jero.meeting.service.IPayMeetingHotelContactsService; import com.jero.meeting.service.IPayMeetingService; +import com.jero.meeting.service.IPayMeetingStandardService; import com.jero.meeting.vo.PayMeetingVO; import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; @@ -71,6 +73,8 @@ public class StandardsMeetingController extends JeroController {payMeetingVO.setQuestionList(JSONObject.parseArray(s, Question.class));}); + List list = payMeetingStandardService.list(new LambdaQueryWrapper().eq(PayMeetingStandard::getMeetingId, meeting.getId())); + payMeetingVO.setQuestionList(list); String meetingType = meeting.getMeetingType().toString(); //String meetingType1 = sysBaseAPI.translateDict("meeting_type", meetingType); payMeetingVO.setMeetingType(meetingType); @@ -319,12 +324,8 @@ public class StandardsMeetingController extends JeroController getStandardNumberList(@RequestParam(name="meetingId",required=true) String meetingId) { - PayMeeting payMeeting = payMeetingService.getById(meetingId); - List list=null; - if(StringUtils.isNotBlank(payMeeting.getQuestions())){ - List questions = JSONObject.parseArray(payMeeting.getQuestions(), Question.class); - list=questions.stream().map(Question::getStandardNumber).collect(Collectors.toList()); - }; - return Result.OK(list); + List list = payMeetingStandardService.list(new LambdaQueryWrapper().eq(PayMeetingStandard::getMeetingId, meetingId)); + List collect = list.stream().map(PayMeetingStandard::getStandardNumber).collect(Collectors.toList()); + return Result.OK(collect); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/AllStandardQuestion.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/AllStandardQuestion.java new file mode 100644 index 00000000..43d2105a --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/AllStandardQuestion.java @@ -0,0 +1,34 @@ +package com.jero.meeting.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +/** + * @author zhangqinlin + * @className: AllStandardQuestion + * @description: + * @date 2022/7/14 17:22 + * @version:1.0 + */ +@Data +public class AllStandardQuestion { + + @ApiModelProperty(value = "标准号") + private java.lang.String standardNumber; + + @ApiModelProperty(value = "标准名称") + private java.lang.String standardName; + + @ApiModelProperty(value = "章条编号") + private java.lang.String number; + + @ApiModelProperty(value = "问题名称") + private java.lang.String questionName; + + @ApiModelProperty(value = "创建人名称") + private java.lang.String creater; + + @ApiModelProperty(value = "邮箱") + private java.lang.String email; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java index a127c156..1413c8db 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java @@ -349,14 +349,14 @@ public class PayMeeting implements Serializable { @ApiModelProperty(value = "是否需要问题征集(0:否,1:是)") private String isAddQuestion; - /**征集问题text*/ - @ApiModelProperty(value = "征集问题text") - private String questions; - /**征集问题text*/ @TableField(exist = false) - @ApiModelProperty(value = "征集问题状态") - private String addQuestionStatue; + @ApiModelProperty(value = "征集问题text") + private List questionList; + + @Dict(dicCode = "questionStatue") + @ApiModelProperty(value = "征集问题状态(0:已结束,1:征集中)") + private Integer addQuestionStatue; /**征集截止日期*/ @Excel(name = "征集截止日期", width = 20, format = "yyyy-MM-dd HH:mm:ss") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingQuestion.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingQuestion.java index 273874c0..87db2e92 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingQuestion.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingQuestion.java @@ -52,18 +52,13 @@ public class PayMeetingQuestion { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新日期") private java.util.Date updateTime; - /**会议id*/ - @ApiModelProperty(value = "会议id") - private java.lang.String meetingId; /**标准号*/ - @ApiModelProperty(value = "标准号") - private java.lang.String standardNumber; + @ApiModelProperty(value = "标准号Id") + private java.lang.String standardId; /**标准名称*/ - @ApiModelProperty(value = "标准名称") - private java.lang.String standardName; /**章条编号*/ @Excel(name = "章条编号", width = 15) @ApiModelProperty(value = "章条编号") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingStandard.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingStandard.java new file mode 100644 index 00000000..051e1ec3 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingStandard.java @@ -0,0 +1,67 @@ +package com.jero.meeting.entity; + +import java.io.Serializable; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; + +/** + * @Description: 标准问题 + * @Author: jeecg-boot + * @Date: 2022-07-14 + * @Version: V1.0 + */ +@Data +@TableName("pay_meeting_standerd") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="pay_meeting_standerd对象", description="标准问题") +public class PayMeetingStandard { + + /**id*/ + @TableId(type = IdType.ID_WORKER_STR) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**创建人*/ + @Excel(name = "创建人", width = 15) + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @Excel(name = "更新人", width = 15) + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**会议id*/ + @Excel(name = "会议id", width = 15) + @ApiModelProperty(value = "会议id") + private java.lang.String meetingId; + /**标准号*/ + @Excel(name = "标准号", width = 15) + @ApiModelProperty(value = "标准号") + private java.lang.String standardNumber; + /**标准名称*/ + @Excel(name = "标准名称", width = 15) + @ApiModelProperty(value = "标准名称") + private java.lang.String standardName; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingQuestionMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingQuestionMapper.java index be340d11..91cbb9b6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingQuestionMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingQuestionMapper.java @@ -1,8 +1,17 @@ package com.jero.meeting.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.meeting.entity.AllStandardQuestion; import com.jero.meeting.entity.PayMeetingQuestion; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 征集问题 @@ -12,4 +21,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface PayMeetingQuestionMapper extends BaseMapper { + IPage pageList(@Param("page")Page page, @Param(Constants.WRAPPER) QueryWrapper lambdaQueryWrapper); + + List pageList2(@Param(Constants.WRAPPER)QueryWrapper queryWrapper); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingStandardMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingStandardMapper.java new file mode 100644 index 00000000..7f422a8a --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingStandardMapper.java @@ -0,0 +1,14 @@ +package com.jero.meeting.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.meeting.entity.PayMeetingStandard; + +/** + * @Description: 标准问题 + * @Author: jeecg-boot + * @Date: 2022-07-14 + * @Version: V1.0 + */ +public interface PayMeetingStandardMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingQuestionMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingQuestionMapper.xml index a7c66cf2..9d430b56 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingQuestionMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingQuestionMapper.xml @@ -2,4 +2,16 @@ + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingStandardMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingStandardMapper.xml new file mode 100644 index 00000000..9d919f5c --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingStandardMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingQuestionService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingQuestionService.java index 23661a7d..b97657bd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingQuestionService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingQuestionService.java @@ -1,9 +1,16 @@ package com.jero.meeting.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.baomidou.mybatisplus.extension.service.IService; +import com.jero.meeting.entity.AllStandardQuestion; import com.jero.meeting.entity.PayMeetingQuestion; +import java.util.List; + /** * @Description: 征集问题 * @Author: jeecg-boot @@ -12,4 +19,8 @@ import com.jero.meeting.entity.PayMeetingQuestion; */ public interface IPayMeetingQuestionService extends IService { + IPage pageList(Page page, QueryWrapper lambdaQueryWrapper); + + List pageList2(QueryWrapper queryWrapper); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingStandardService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingStandardService.java new file mode 100644 index 00000000..cea8f166 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingStandardService.java @@ -0,0 +1,14 @@ +package com.jero.meeting.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.meeting.entity.PayMeetingStandard; + +/** + * @Description: 标准问题 + * @Author: jeecg-boot + * @Date: 2022-07-14 + * @Version: V1.0 + */ +public interface IPayMeetingStandardService extends IService { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingQuestionServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingQuestionServiceImpl.java index 0b713797..a24e02b0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingQuestionServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingQuestionServiceImpl.java @@ -1,12 +1,19 @@ package com.jero.meeting.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.meeting.entity.AllStandardQuestion; import com.jero.meeting.entity.PayMeetingQuestion; import com.jero.meeting.mapper.PayMeetingQuestionMapper; import com.jero.meeting.service.IPayMeetingQuestionService; import org.springframework.stereotype.Service; +import java.util.List; + /** * @Description: 征集问题 * @Author: jeecg-boot @@ -16,4 +23,13 @@ import org.springframework.stereotype.Service; @Service public class PayMeetingQuestionServiceImpl extends ServiceImpl implements IPayMeetingQuestionService { + @Override + public IPage pageList(Page page, QueryWrapper lambdaQueryWrapper) { + return this.baseMapper.pageList( page, lambdaQueryWrapper); + } + + @Override + public List pageList2(QueryWrapper queryWrapper) { + return this.baseMapper.pageList2( queryWrapper); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index 90ed42a6..eb98f218 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -77,6 +77,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; /** * @Description: 会议管理 @@ -129,6 +130,8 @@ public class PayMeetingServiceImpl extends ServiceImpl collect = payMeetingVO.getQuestionList().stream().map(s -> s.setMeetingId(payMeeting.getId())).collect(Collectors.toList()); + payMeetingStandardService.saveBatch(collect); //如果酒店联系人列表不为空,就新增 if (!CollectionUtils.isEmpty(hotelContactsList)) { String meetingId = payMeeting.getId(); @@ -263,6 +268,9 @@ public class PayMeetingServiceImpl extends ServiceImpl collect = payMeetingVO.getQuestionList().stream().map(s -> s.setMeetingId(payMeeting.getId())).collect(Collectors.toList()); + payMeetingStandardService.remove(new LambdaQueryWrapper().eq(PayMeetingStandard::getMeetingId,payMeeting.getId())); + payMeetingStandardService.saveBatch(collect); //如果酒店联系人列表不为空,就更新 if (!CollectionUtils.isEmpty(hotelContactsList)) { String meetingId = payMeeting.getId(); @@ -486,14 +494,21 @@ public class PayMeetingServiceImpl extends ServiceImpl list= payMeetingVO.getQuestionList().stream().collect(Collectors.groupingBy(Question::getStandardNumber,Collectors.counting())).entrySet().stream() + List list= payMeetingVO.getQuestionList().stream().collect(Collectors.groupingBy(PayMeetingStandard::getStandardNumber,Collectors.counting())).entrySet().stream() .filter(entry->entry.getValue()>1) .map(Map.Entry::getKey) .collect(Collectors.toList()); if(list.size()>0){ throw new JeroBootException("征集问题标准号重复!"); } - payMeeting.setQuestions(JSONObject.toJSONString(payMeetingVO.getQuestionList())); + + } + if(!ObjectUtils.isEmpty(payMeeting.getEndTimeAddQuestion())){ + if(payMeeting.getEndTimeAddQuestion().after(new Date())){ + payMeeting.setAddQuestionStatue(1); + }else { + payMeeting.setAddQuestionStatue(0); + } } return payMeeting; } @@ -918,11 +933,14 @@ public class PayMeetingServiceImpl extends ServiceImpl{ - if (time.before(new Date())) { - meeting.setAddQuestionStatue("已结束"); - } else { - meeting.setAddQuestionStatue("征集中"); + Optional.ofNullable(meeting.getAddQuestionStatue()).ifPresent(statue->{ + if (meeting.getEndTimeAddQuestion().before(new Date())) { + if(1==statue){ + PayMeeting payMeeting1 = new PayMeeting(); + payMeeting1.setAddQuestionStatue(0); + payMeeting1.setId(meeting.getId()); + updateById(payMeeting1); + } } }); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingStandardServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingStandardServiceImpl.java new file mode 100644 index 00000000..f4958041 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingStandardServiceImpl.java @@ -0,0 +1,19 @@ +package com.jero.meeting.service.impl; + +import com.jero.meeting.entity.PayMeetingStandard; +import com.jero.meeting.mapper.PayMeetingStandardMapper; +import com.jero.meeting.service.IPayMeetingStandardService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 标准问题 + * @Author: jeecg-boot + * @Date: 2022-07-14 + * @Version: V1.0 + */ +@Service +public class PayMeetingStandardServiceImpl extends ServiceImpl implements IPayMeetingStandardService { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java index 69930d6d..21f16072 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java @@ -8,6 +8,7 @@ import com.jero.common.aspect.annotation.Dict; import com.jero.common.util.PasswordUtil; import com.jero.meeting.entity.PayMeetingContacts; import com.jero.meeting.entity.PayMeetingHotelContacts; +import com.jero.meeting.entity.PayMeetingStandard; import com.jero.meeting.entity.Question; import com.jero.meeting.valid.group.*; import com.jero.modules.system.volid.group.UpdateGroup; @@ -306,9 +307,14 @@ public class PayMeetingVO implements Serializable { @ApiModelProperty(value = "是否需要问题征集") private String isAddQuestion; + @Dict(dicCode = "questionStatue") + @ApiModelProperty(value = "征集问题状态(0:已结束,1:征集中)") + private Integer addQuestionStatue; + + /**征集问题text*/ @ApiModelProperty(value = "征集问题text") - private List questionList; + private List questionList; /**征集截止日期*/ @Excel(name = "征集截止日期", width = 20, format = "yyyy-MM-dd HH:mm:ss") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/entity/StableCrossTraining.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/entity/StableCrossTraining.java index 455a8098..31e05321 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/entity/StableCrossTraining.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/entity/StableCrossTraining.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.jero.common.aspect.annotation.Dict; import com.jero.common.system.base.entity.JeroEntity; +import com.jero.meeting.entity.PayMeetingStandard; import com.jero.standards.jiudian.hotelcontact.entity.HotelContact; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; @@ -300,9 +301,9 @@ public class StableCrossTraining extends JeroEntity { @ApiModelProperty(value = "是否需要问题征集") private String isAddQuestion; - /**征集问题text*/ + @TableField(exist = false) @ApiModelProperty(value = "征集问题text") - private String questions; + private List questionList; /**征集截止日期*/ @Excel(name = "征集截止日期", width = 20, format = "yyyy-MM-dd HH:mm:ss") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java index 4bd29a73..28617829 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java @@ -121,7 +121,7 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl