Browse Source

预约时间段查询

dev_shibei_match
zxc 4 years ago
parent
commit
7cdf34fb46
  1. 31
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentTimeFormDTO.java
  2. 34
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentTimeResultDTO.java
  3. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java
  4. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java
  5. 40
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java

31
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentTimeFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/11/23 9:57 上午
* @DESC
*/
@Data
public class AppointmentTimeFormDTO implements Serializable {
private static final long serialVersionUID = -3645075481936669437L;
public interface AppointmentTimeForm{}
/**
* 事项ID
*/
@NotBlank(message = "matterId不能为空",groups = AppointmentTimeForm.class)
private String matterId;
/**
* 日期默认当天
*/
@NotBlank(message = "date不能为空",groups = AppointmentTimeForm.class)
private String date;
}

34
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentTimeResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.result;
import com.epmet.dto.TimeDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2021/11/23 9:55 上午
* @DESC
*/
@Data
public class AppointmentTimeResultDTO implements Serializable {
private static final long serialVersionUID = 8724962797702659712L;
/**
* 预约类型每天everyDay工作日workDay周末weekend
*/
private String appointmentType;
/**
* 时间段
*/
private List<TimeDTO> timeDetail;
public AppointmentTimeResultDTO() {
this.appointmentType = "";
this.timeDetail = new ArrayList<>();
}
}

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java

@ -29,6 +29,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.excel.IcPartyServiceCenterExcel;
import com.epmet.service.IcPartyServiceCenterService;
@ -161,4 +162,16 @@ public class IcPartyServiceCenterController {
return new Result<List<PartyServiceCenterListResultDTO>>().ok(icPartyServiceCenterService.partyServiceCenterList(formDTO,tokenDto));
}
/**
* @Description 党群服务中心点击预约按钮时查询可选时间
* @param formDTO
* @author zxc
* @date 2021/11/23 10:02 上午
*/
@PostMapping("appointmenttime")
public Result<AppointmentTimeResultDTO> appointmentTime(@RequestBody AppointmentTimeFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, AppointmentTimeFormDTO.AppointmentTimeForm.class);
return new Result<AppointmentTimeResultDTO>().ok(icPartyServiceCenterService.appointmentTime(formDTO));
}
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcPartyServiceCenterEntity;
@ -140,4 +141,12 @@ public interface IcPartyServiceCenterService extends BaseService<IcPartyServiceC
*/
List<PartyServiceCenterListResultDTO> partyServiceCenterList(PartyServiceCenterListFormDTO formDTO,TokenDto tokenDto);
/**
* @Description 党群服务中心点击预约按钮时查询可选时间
* @param formDTO
* @author zxc
* @date 2021/11/23 10:02 上午
*/
AppointmentTimeResultDTO appointmentTime(AppointmentTimeFormDTO formDTO);
}

40
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java

@ -40,6 +40,7 @@ import com.epmet.dao.IcPartyServiceCenterDao;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.TimeDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcMatterAppointmentRecordEntity;
import com.epmet.entity.IcPartyServiceCenterEntity;
@ -279,6 +280,45 @@ public class IcPartyServiceCenterServiceImpl extends BaseServiceImpl<IcPartyServ
return result;
}
/**
* @Description 党群服务中心点击预约按钮时查询可选时间
* @param formDTO
* @author zxc
* @date 2021/11/23 10:02 上午
*/
@Override
public AppointmentTimeResultDTO appointmentTime(AppointmentTimeFormDTO formDTO) {
AppointmentTimeResultDTO result = new AppointmentTimeResultDTO();
IcPartyServiceCenterMatterEntity matter = matterService.selectById(formDTO.getMatterId());
if (null == matter){
throw new RenException("事项不存在...");
}
result.setAppointmentType(matter.getAppointmentType());
LambdaQueryWrapper<IcMatterAppointmentRecordEntity> l = new LambdaQueryWrapper<>();
l.eq(IcMatterAppointmentRecordEntity::getMatterId,formDTO.getMatterId())
.eq(IcMatterAppointmentRecordEntity::getAppointmentDate,formDTO.getDate())
.eq(BaseEpmetEntity::getDelFlag,NumConstant.ZERO);
List<IcMatterAppointmentRecordEntity> records = matterAppointmentRecordDao.selectList(l);
List<TimeDTO> timeList = getTimeList(matter.getStartTime(), matter.getEndTime(), NumConstant.THIRTY);
if (CollectionUtils.isEmpty(records)){
result.setTimeDetail(timeList);
return result;
}
records.forEach(r -> {
String[] split = r.getTimeId().split(",");
for (String s : split) {
for (TimeDTO t : timeList) {
if (s.equals(t.getTimeId())){
t.setIsAppointment(false);
continue;
}
}
}
});
result.setTimeDetail(timeList);
return result;
}
public List<TimeDTO> getTimeList(String start,String end,Integer interval){
List<TimeDTO> result = new ArrayList<>();
List<String> intervalTimeList = getIntervalTimeList(start, end, interval);

Loading…
Cancel
Save