diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentRecordFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentRecordFormDTO.java new file mode 100644 index 0000000000..089a7826a3 --- /dev/null +++ b/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(); + } +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentRecordResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AppointmentRecordResultDTO.java new file mode 100644 index 0000000000..6d3c0452a1 --- /dev/null +++ b/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 appointmentTime; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java index 21ba97eb2d..62b7fe619d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java +++ b/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().ok(icPartyServiceCenterService.appointmentTime(formDTO)); } + /** + * @Description 【党群服务中心】预约记录 + * @param formDTO + * @author zxc + * @date 2021/11/23 10:50 上午 + */ + @PostMapping("appointmentrecord") + public Result> appointmentRecord(@RequestBody AppointmentRecordFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, AppointmentRecordFormDTO.AppointmentRecordForm.class); + return new Result>().ok(icPartyServiceCenterService.appointmentRecord(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java index d10c13d00f..586bf7dda6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java +++ b/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 appointmentRecord(AppointmentRecordFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java index 87bdaf0cf3..2390106303 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java +++ b/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 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 records = matterAppointmentRecordDao.selectList(l); List 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 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; } - 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; + 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); + break; + } } } - } - }); + }); + } result.setTimeDetail(timeList); return result; } + /** + * @Description 【党群服务中心】预约记录 + * @param formDTO + * @author zxc + * @date 2021/11/23 10:50 上午 + */ + @Override + public List appointmentRecord(AppointmentRecordFormDTO formDTO) { + return null; + } + public List getTimeList(String start,String end,Integer interval){ List result = new ArrayList<>(); List intervalTimeList = getIntervalTimeList(start, end, interval);