| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- package cn.com.goldenwater.dcproj.controller.meeting;
- import cn.com.goldenwater.dcproj.dto.MeetPersSginListDto;
- import cn.com.goldenwater.dcproj.dto.MeetSginInOutInfoDto;
- import cn.com.goldenwater.dcproj.model.MeetMeetingInfo;
- import cn.com.goldenwater.dcproj.model.MeetPersSginList;
- import cn.com.goldenwater.dcproj.model.MeetSginInOutInfo;
- import cn.com.goldenwater.dcproj.param.MeetPersSginListParam;
- import cn.com.goldenwater.dcproj.param.MeetSginInOutInfoParam;
- import cn.com.goldenwater.dcproj.service.MeetMeetingInfoService;
- import cn.com.goldenwater.dcproj.service.MeetPersSginListService;
- import cn.com.goldenwater.core.web.BaseController;
- import cn.com.goldenwater.core.web.BaseResponse;
- import cn.com.goldenwater.dcproj.service.MeetSginInOutInfoService;
- import cn.com.goldenwater.id.util.UuidUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.apache.commons.lang3.StringUtils;
- import com.github.pagehelper.PageInfo;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.Date;
- import java.util.List;
- /**
- * @author lune
- * @date 2019-7-23
- */
- @Api(value = "MEET 会议人员签到签退记录表管理", tags = "MEET 会议人员签到签退记录表管理")
- @RestController
- @RequestMapping("/meet/pers/sgin/list")
- public class MeetPersSginListController extends BaseController {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private MeetPersSginListService meetPersSginListService;
- @Autowired
- private MeetSginInOutInfoService meetSginInOutInfoService;
- @Autowired
- private MeetMeetingInfoService meetMeetingInfoService;
- @ApiOperation(value = "添加/修改会议人员签到签退记录表")
- @RequestMapping(value = "", method = RequestMethod.POST)
- public BaseResponse<MeetPersSginList> insert(@ApiParam(name = "meetPersSginList", value = "MeetPersSginList", required = true) @RequestBody MeetPersSginList meetPersSginList) {
- if (StringUtils.isNotBlank(meetPersSginList.getSginId())) {
- MeetSginInOutInfo inOutInfo = meetSginInOutInfoService.get(meetPersSginList.getSginId());
- //比较开始时间
- if (inOutInfo.getStTm().compareTo(meetPersSginList.getSginTm()) > 0) {
- return buildFailResponse(17001, "时间未到!");
- }
- //比较结束时间
- if (inOutInfo.getEnTm().compareTo(meetPersSginList.getSginTm()) < 0) {
- return buildFailResponse(17001, "时间已过!");
- }
- }
- if (StringUtils.isBlank(meetPersSginList.getId())) {
- String uuid = UuidUtil.uuid(); // 生成uuid
- meetPersSginList.setId(uuid);
- meetPersSginListService.insert(meetPersSginList);
- } else {
- meetPersSginListService.update(meetPersSginList);
- }
- return buildSuccessResponse(meetPersSginList);
- }
- @ApiOperation(value = "根据ID删除会议人员签到签退记录表")
- @RequestMapping(value = "/del/{id}", method = RequestMethod.GET)
- public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- int ret = meetPersSginListService.delete(id);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "根据ID获取会议人员签到签退记录表(单表)")
- @RequestMapping(value = "/{id}", method = RequestMethod.GET)
- public BaseResponse<MeetPersSginList> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- MeetPersSginList meetPersSginList = meetPersSginListService.get(id);
- return buildSuccessResponse(meetPersSginList);
- }
- @ApiOperation(value = "获取会议人员签到签退记录表(列表所有)")
- @RequestMapping(value = "/list", method = RequestMethod.POST)
- public BaseResponse<List<MeetPersSginList>> list(@ApiParam(name = "meetPersSginListParam", value = "meetPersSginListParam", required = true) @RequestBody MeetPersSginListParam meetPersSginListParam) {
- List<MeetPersSginList> meetPersSginListList = meetPersSginListService.findList(meetPersSginListParam);
- return buildSuccessResponse(meetPersSginListList);
- }
- @ApiOperation(value = "获取会议人员签到签退记录表(列表--分页)")
- @RequestMapping(value = "/page", method = RequestMethod.POST)
- public BaseResponse<PageInfo<MeetPersSginList>> page(@ApiParam(name = "meetPersSginListParam", value = "meetPersSginListParam", required = true) @RequestBody MeetPersSginListParam meetPersSginListParam) {
- PageInfo<MeetPersSginList> meetPersSginListList = meetPersSginListService.findPageInfo(meetPersSginListParam);
- return buildSuccessResponse(meetPersSginListList);
- }
- @ApiOperation(value = "获取会议人员签到签退记录表信息(列表--分页)")
- @RequestMapping(value = "/getMeetPersSignPage", method = RequestMethod.POST)
- public BaseResponse<PageInfo<MeetPersSginListDto>> getMeetPersSignPage(@RequestBody MeetPersSginListParam meetPersSginListParam) {
- PageInfo<MeetPersSginListDto> pageInfo = meetPersSginListService.getMeetPersSignPage(meetPersSginListParam);
- return buildSuccessResponse(pageInfo);
- }
- @Deprecated
- @ApiOperation(value = "获取人员签到状态")
- @RequestMapping(value = "/getSignInState", method = RequestMethod.POST)
- public BaseResponse getSignInState(MeetPersSginListParam meetPersSginListParam) {
- MeetPersSginList meetPers = meetPersSginListService.findMeetPersSginList(meetPersSginListParam);
- if (meetPers != null) {
- return buildFailResponse(10002, "已签到!");
- }
- MeetMeetingInfo info = meetMeetingInfoService.get(meetPersSginListParam.getMeetId());
- List<MeetSginInOutInfo> staList = null;
- if ("2".equals(info.getIsOut())) {
- if (info.getEnTm().compareTo(new Date()) < 0) {
- return buildFailResponse(10003, "签到时间已过,无法签到");
- }
- } else {
- MeetSginInOutInfoParam param = new MeetSginInOutInfoParam();
- param.setMeetId(meetPersSginListParam.getMeetId());
- param.setType("1");
- staList = meetSginInOutInfoService.findList(param);
- if (staList == null || staList.size() == 0) {
- return buildFailResponse(10004, "没有签到标准id");
- }
- if (staList.size() > 0) {
- Collections.sort(staList, new Comparator<MeetSginInOutInfo>() {
- @Override
- public int compare(MeetSginInOutInfo o1, MeetSginInOutInfo o2) {
- return o2.getStTm().compareTo(o1.getStTm());
- }
- });
- if (staList.get(0).getStTm().compareTo(new Date()) < 0) {
- return buildFailResponse(10001, "时间未到!");
- }
- }
- param.setType("2");
- List<MeetSginInOutInfo> endList = meetSginInOutInfoService.findList(param);
- if (endList == null || endList.size() == 0) {
- if (info.getEnTm().compareTo(new Date()) < 0) {
- return buildFailResponse(10003, "签到时间已过,无法签到");
- }
- } else if (endList.size() > 0) {
- Collections.sort(endList, new Comparator<MeetSginInOutInfo>() {
- @Override
- public int compare(MeetSginInOutInfo o1, MeetSginInOutInfo o2) {
- return o2.getStTm().compareTo(o1.getStTm());
- }
- });
- if (staList.get(0).getStTm().compareTo(new Date()) < 0) {
- return buildFailResponse(10003, "签到时间已过,无法签到");
- }
- }
- }
- return buildSuccessResponse(staList);
- }
- @Deprecated
- @ApiOperation(value = "获取人员签退状态")
- @RequestMapping(value = "/getSignOutState", method = RequestMethod.POST)
- public BaseResponse getSignOutState(MeetPersSginListParam meetPersSginListParam) {
- MeetPersSginList meetPers = meetPersSginListService.findMeetPersSginList(meetPersSginListParam);
- if (meetPers != null) {
- return buildFailResponse(10002, "已签退!");
- }
- MeetSginInOutInfoParam param = new MeetSginInOutInfoParam();
- param.setMeetId(meetPersSginListParam.getMeetId());
- param.setType("2");
- List<MeetSginInOutInfo> endList = meetSginInOutInfoService.findList(param);
- if (endList == null || endList.size() == 0) {
- return buildFailResponse(10004, "没有签到标准id");
- }
- Collections.sort(endList, new Comparator<MeetSginInOutInfo>() {
- @Override
- public int compare(MeetSginInOutInfo o1, MeetSginInOutInfo o2) {
- return o2.getStTm().compareTo(o1.getStTm());
- }
- });
- if (endList.get(0).getStTm().compareTo(new Date()) > 0) {
- return buildFailResponse(10001, "时间未到!");
- }
- return buildSuccessResponse(endList);
- }
- @ApiOperation(value = "获取人员签退状态")
- @RequestMapping(value = "/getSignState", method = RequestMethod.POST)
- public BaseResponse getSignState(MeetPersSginListParam meetPersSginListParam) {
- List<MeetSginInOutInfoDto> list = meetPersSginListService.getSignState(meetPersSginListParam);
- MeetSginInOutInfoDto dto = null;
- long num = 0;
- Date now = new Date();
- if (list != null || list.size() >= 0) {
- for (MeetSginInOutInfoDto sginInOutInfoDto : list) {
- if (StringUtils.isBlank(sginInOutInfoDto.getPerSignId())) {
- Date d1 = sginInOutInfoDto.getStTm();
- Date d2 = sginInOutInfoDto.getEnTm();
- long num1 = 0;
- long num2 = 0;
- if(d1.getTime()>=now.getTime()){
- num1 = d1.getTime() - now.getTime();
- }else{
- num1 = now.getTime() - d1.getTime();
- }
- if(d2.getTime()>=now.getTime()){
- num2 = d2.getTime() - now.getTime();
- }else {
- num2 = now.getTime() - d2.getTime();
- }
- if(num2>=num1){
- if(num1<num||num==0){
- num = num1;
- dto = sginInOutInfoDto;
- }
- }else {
- if(num2<num||num==0){
- num = num2;
- dto = sginInOutInfoDto;
- }
- }
- }
- }
- }
- return buildSuccessResponse(dto);
- }
- }
|