Browse Source

time

master
zxc 4 years ago
parent
commit
100afe2283
  1. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentRecordFormDTO.java
  2. 44
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentRecordResultDTO.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. 34
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentRecordFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDate;
/**
* @Author zxc
* @DateTime 2021/11/23 10:42 上午
* @DESC
*/
@Data
public class AppointmentRecordFormDTO implements Serializable {
private static final long serialVersionUID = 2021698309505676292L;
public interface AppointmentRecordForm{}
@NotBlank(message = "matterId不能为空",groups = AppointmentRecordForm.class)
private String matterId;
private String date;
public AppointmentRecordFormDTO() {
this.date = LocalDate.now().toString();
}
}

44
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentRecordResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2021/11/23 10:45 上午
* @DESC
*/
@Data
public class AppointmentRecordResultDTO implements Serializable {
private static final long serialVersionUID = 6066514365788141940L;
private Integer sort;
/**
* 事项名
*/
private String matterName;
/**
* 预约人
*/
private String appointmentName;
/**
* 预约电话
*/
private String appointmentPhone;
/**
* 备注
*/
private String remark;
/**
* 预约时间
*/
private List<String> appointmentTime;
}

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.AppointmentRecordResultDTO;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.excel.IcPartyServiceCenterExcel;
@ -174,4 +175,16 @@ public class IcPartyServiceCenterController {
return new Result<AppointmentTimeResultDTO>().ok(icPartyServiceCenterService.appointmentTime(formDTO));
}
/**
* @Description 党群服务中心预约记录
* @param formDTO
* @author zxc
* @date 2021/11/23 10:50 上午
*/
@PostMapping("appointmentrecord")
public Result<List<AppointmentRecordResultDTO>> appointmentRecord(@RequestBody AppointmentRecordFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, AppointmentRecordFormDTO.AppointmentRecordForm.class);
return new Result<List<AppointmentRecordResultDTO>>().ok(icPartyServiceCenterService.appointmentRecord(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.AppointmentRecordResultDTO;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcPartyServiceCenterEntity;
@ -149,4 +150,12 @@ public interface IcPartyServiceCenterService extends BaseService<IcPartyServiceC
*/
AppointmentTimeResultDTO appointmentTime(AppointmentTimeFormDTO formDTO);
/**
* @Description 党群服务中心预约记录
* @param formDTO
* @author zxc
* @date 2021/11/23 10:50 上午
*/
List<AppointmentRecordResultDTO> appointmentRecord(AppointmentRecordFormDTO formDTO);
}

34
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.AppointmentRecordResultDTO;
import com.epmet.dto.result.AppointmentTimeResultDTO;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcMatterAppointmentRecordEntity;
@ -56,6 +57,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import static com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN;
@ -297,28 +300,55 @@ public class IcPartyServiceCenterServiceImpl extends BaseServiceImpl<IcPartyServ
LambdaQueryWrapper<IcMatterAppointmentRecordEntity> l = new LambdaQueryWrapper<>();
l.eq(IcMatterAppointmentRecordEntity::getMatterId,formDTO.getMatterId())
.eq(IcMatterAppointmentRecordEntity::getAppointmentDate,formDTO.getDate())
.eq(IcMatterAppointmentRecordEntity::getStatus,PartyServiceCenterConstant.APPOINTMENT_STATUS_APPOINTING)
.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)){
if (formDTO.getDate().equals(LocalDate.now().toString())){
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
for (TimeDTO t : timeList) {
List<String> list = Arrays.asList(t.getTime().split("-"));
String concat = formDTO.getDate().concat(" ").concat(list.get(NumConstant.ONE)).concat(":00");
LocalDateTime parse = LocalDateTime.parse(concat, df);
t.setIsAppointment(parse.isAfter(now));
}
}
if (LocalDate.now().isAfter(LocalDate.parse(formDTO.getDate()))){
timeList.forEach(t -> {
t.setIsAppointment(false);
});
result.setTimeDetail(timeList);
return result;
}
if (CollectionUtils.isNotEmpty(records)){
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;
break;
}
}
}
});
}
result.setTimeDetail(timeList);
return result;
}
/**
* @Description 党群服务中心预约记录
* @param formDTO
* @author zxc
* @date 2021/11/23 10:50 上午
*/
@Override
public List<AppointmentRecordResultDTO> appointmentRecord(AppointmentRecordFormDTO formDTO) {
return null;
}
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