From 690362d7b03064490850b738ef16c3e0eb2509e8 Mon Sep 17 00:00:00 2001 From: lige <bestlige@outlook.com> Date: 星期二, 21 十一月 2023 13:32:44 +0800 Subject: [PATCH] 医生排班 --- ltkj-common/src/main/java/com/ltkj/common/core/domain/entity/MallSchedulingTime.java | 131 ++++++++ ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java | 3 ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java | 28 + ltkj-hosp/src/main/java/com/ltkj/hosp/dto/MallSchedulingTimeDto.java | 50 +++ ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java | 4 ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java | 18 + ltkj-hosp/src/main/java/com/ltkj/mall/service/IMallSchedulingTimeService.java | 65 ++++ ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallTimeConfigMapper.java | 1 ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java | 6 ltkj-admin/src/main/java/com/ltkj/web/controller/system/StjSchedulingTimeController.java | 365 ++++++++++++++++++++++++ ltkj-admin/src/main/java/com/ltkj/web/controller/mall/MallTimeConfigController.java | 8 ltkj-hosp/src/main/java/com/ltkj/hosp/vodomain/DoctorUserVo.java | 39 ++ ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallSchedulingTimeMapper.java | 79 +++++ ltkj-hosp/src/main/java/com/ltkj/mall/service/impl/MallSchedulingTimeServiceImpl.java | 98 ++++++ 14 files changed, 890 insertions(+), 5 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/MallTimeConfigController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/MallTimeConfigController.java index cda9404..9c44b58 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/MallTimeConfigController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/MallTimeConfigController.java @@ -83,7 +83,7 @@ /** * 鏌ヨ棰勭害鏃堕棿鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('mall:timeConfig:list')") + //@PreAuthorize("@ss.hasPermi('mall:timeConfig:list')") @GetMapping("/list") public TableDataInfo list(MallTimeConfig mallTimeConfig) { startPage(); @@ -94,7 +94,7 @@ /** * 瀵煎嚭棰勭害鏃堕棿鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('mall:timeConfig:export')") + //@PreAuthorize("@ss.hasPermi('mall:timeConfig:export')") @Log(title = "棰勭害鏃堕棿", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, MallTimeConfig mallTimeConfig) { @@ -106,7 +106,7 @@ /** * 鑾峰彇棰勭害鏃堕棿璇︾粏淇℃伅 */ - @PreAuthorize("@ss.hasPermi('mall:timeConfig:query')") + //@PreAuthorize("@ss.hasPermi('mall:timeConfig:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(mallTimeConfigService.selectMallTimeConfigById(id)); @@ -168,7 +168,7 @@ /** * 鏂板棰勭害鏃堕棿 */ - @PreAuthorize("@ss.hasPermi('mall:timeConfig:add')") + //@PreAuthorize("@ss.hasPermi('mall:timeConfig:add')") @Log(title = "棰勭害鏃堕棿", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody MallTimeConfig mallTimeConfig) { diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/StjSchedulingTimeController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/StjSchedulingTimeController.java new file mode 100644 index 0000000..764c938 --- /dev/null +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/StjSchedulingTimeController.java @@ -0,0 +1,365 @@ +package com.ltkj.web.controller.system; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ltkj.common.annotation.Log; +import com.ltkj.common.core.controller.BaseController; +import com.ltkj.common.core.domain.AjaxResult; +import com.ltkj.common.core.domain.entity.*; +import com.ltkj.common.core.page.TableDataInfo; +import com.ltkj.common.enums.BusinessType; +import com.ltkj.common.utils.DateUtils; +import com.ltkj.common.utils.poi.ExcelUtil; +import com.ltkj.hosp.dto.MallSchedulingTimeDto; +import com.ltkj.hosp.service.IDictUserInfoService; +import com.ltkj.hosp.vodomain.DoctorUserVo; +import com.ltkj.mall.service.IMallSchedulingTimeService; +import com.ltkj.system.service.ISysDeptService; +import com.ltkj.system.service.ISysDictDataService; +import com.ltkj.system.service.ISysUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.*; + +/** + * 鎺掔彮鏃堕棿Controller + * + * @author ltkj_璧典匠璞�&鏉庢牸 + * @date 2023-07-18 + */ +@RestController +@RequestMapping("/mall/schedulingTime") +@Api(tags = "PC绔尰鐢熸帓鐝帴鍙�") +public class StjSchedulingTimeController extends BaseController { + @Autowired + private IMallSchedulingTimeService mallSchedulingTimeService; + @Autowired + private ISysUserService userService; + @Resource + private IDictUserInfoService userInfoService; + @Autowired + private ISysDeptService deptService; + + @Autowired + private ISysDictDataService dictDataService; + + + /** + * 鏌ヨ鎺掔彮鏃堕棿鏄惁瀛樺湪 + */ + @GetMapping("/isExist") + public AjaxResult isExist(@RequestParam String time) { + if (time != null) { + LambdaQueryWrapper<MallSchedulingTime> wq=new LambdaQueryWrapper<>(); + wq.eq(MallSchedulingTime::getTime,time); + List<MallSchedulingTime> list = mallSchedulingTimeService.list(wq); + if (list!=null&&list.size()>0){ + return AjaxResult.success(1); + }else { + return AjaxResult.success(0); + } + } + return AjaxResult.error("鍑洪敊浜嗭紝璇疯仈绯诲伐浣滀汉鍛橈紒"); + } + + /** + * 鏌ヨ鎺掔彮鏃堕棿鍒楄〃 + */ + @GetMapping("/list") + @ApiOperation(value = "鏌ヨ鎺掔彮鏃堕棿鍒楄〃") + public TableDataInfo list(MallSchedulingTime mallTimeConfig) { + startPage(); + List<MallSchedulingTime> list = mallSchedulingTimeService.selectMallTimeConfigList(mallTimeConfig); + return getDataTable(list); + } + + /** + * 瀵煎嚭鎺掔彮鏃堕棿鍒楄〃 + */ +// @PreAuthorize("@ss.hasPermi('mall:timeConfig:export')") + @Log(title = "鎺掔彮鏃堕棿", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MallSchedulingTime mallTimeConfig) { + List<MallSchedulingTime> list = mallSchedulingTimeService.selectMallTimeConfigList(mallTimeConfig); + ExcelUtil<MallSchedulingTime> util = new ExcelUtil<MallSchedulingTime>(MallSchedulingTime.class); + util.exportExcel(response, list, "鎺掔彮鏃堕棿鏁版嵁"); + } + + /** + * 鑾峰彇鎺掔彮鏃堕棿璇︾粏淇℃伅 + */ +// @PreAuthorize("@ss.hasPermi('mall:timeConfig:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(mallSchedulingTimeService.getById(id)); + } + + + + + /** + * 杩斿洖褰撳墠琛ㄤ腑鏈�澶ф椂闂� + */ + @GetMapping("/returnLastTime") + public AjaxResult returnLastTime() { + final MallSchedulingTime one = mallSchedulingTimeService.getOne(new LambdaQueryWrapper<MallSchedulingTime>().orderByDesc(MallSchedulingTime::getTime).last("limit 1")); + if (one!=null&&one.getTime().getTime()>new Date().getTime()){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(one.getTime()); + calendar.add(Calendar.DATE, 1); + Date nextDate = calendar.getTime(); + return AjaxResult.success(nextDate); + }else if (one!=null&&one.getTime().getTime()<new Date().getTime()){ + Calendar calendar = Calendar.getInstance(); + Date currentDate = new Date(); + calendar.setTime(currentDate); + calendar.add(Calendar.DATE, 1); + Date nextDate = calendar.getTime(); + return AjaxResult.success(nextDate); + }else { + Calendar calendar = Calendar.getInstance(); + Date currentDate = new Date(); + calendar.setTime(currentDate); + calendar.add(Calendar.DATE, 1); + Date nextDate = calendar.getTime(); + return AjaxResult.success(nextDate); + } + } + + + /** + * 鏂板鎺掔彮鏃堕棿 + */ + @PostMapping + @ApiOperation(value = "鏂板鍖荤敓鎺掔彮淇℃伅鏁版嵁鎺ュ彛") + public AjaxResult add(@RequestBody List<MallSchedulingTime> schedulingTimeList) { + if(null !=schedulingTimeList && schedulingTimeList.size()>0){ + for (MallSchedulingTime schedulingTime : schedulingTimeList) { + LambdaQueryWrapper<MallSchedulingTime> wq = new LambdaQueryWrapper<>(); + wq.eq(MallSchedulingTime::getDeptId,schedulingTime.getDeptId()); + wq.eq(MallSchedulingTime::getTime,schedulingTime.getTime()); + wq.eq(MallSchedulingTime::getTimeSlot,schedulingTime.getTimeSlot()); + wq.eq(MallSchedulingTime::getUserId,schedulingTime.getUserId()); + wq.eq(MallSchedulingTime::getMOrA,schedulingTime.getMOrA()); + MallSchedulingTime mallSchedulingTime = mallSchedulingTimeService.getOne(wq); + if(null !=mallSchedulingTime){ + continue; + } + SysDept dept = deptService.getById(schedulingTime.getDeptId()); + schedulingTime.setHospId(dept.getHospId()); + schedulingTime.setHospName(dept.getHospName()); + mallSchedulingTimeService.save(schedulingTime); + } + return AjaxResult.success("鎿嶄綔鎴愬姛!"); + + } + return AjaxResult.error("鎿嶄綔澶辫触!"); + } + + + /** + * 淇敼鎺掔彮鏃堕棿 + */ + @PutMapping + @ApiOperation(value = "淇敼鍖荤敓鎺掔彮淇℃伅鏁版嵁鎺ュ彛") + public AjaxResult edit(@RequestBody MallSchedulingTime mallTimeConfig) { + return toAjax(mallSchedulingTimeService.updateById(mallTimeConfig)); + } + + + /** + * 淇敼鍖荤敓鏄惁鍋滆瘖鐘舵�佹帴鍙� + */ + @PostMapping("/updateIsClose") + @ApiOperation(value = "淇敼鍖荤敓鏄惁鍋滆瘖鐘舵�佹帴鍙�") + public AjaxResult updateIsClose(@RequestBody MallSchedulingTime mallTimeConfig) { + MallSchedulingTime schedulingTime = mallSchedulingTimeService.getById(mallTimeConfig.getId()); + if(null !=schedulingTime){ + schedulingTime.setIsClose(mallTimeConfig.getIsClose()); + if (mallSchedulingTimeService.updateById(schedulingTime)) { + if(schedulingTime.getIsClose().equals("Y")){ + //鍋滆瘖鍚庡彇娑堟墍鏈夊仠璇婂綋澶╃殑鎸傚彿璁板綍 +// LambdaQueryWrapper<GhCusRegisterInfo> wq=new LambdaQueryWrapper<>(); +// wq.eq(GhCusRegisterInfo::getUserId,schedulingTime.getUserId()); +// wq.between(GhCusRegisterInfo::getRegisterTime,DateUtil.beginOfDay(schedulingTime.getTime()),DateUtil.endOfDay(schedulingTime.getTime())); +// List<GhCusRegisterInfo> infoList = cusRegisterInfoService.list(wq); +// if(null !=infoList && infoList.size()>0){ +// for (GhCusRegisterInfo registerInfo : infoList) { +// registerInfo.setIsExpiration("Y"); +// registerInfo.setIsVisit("Y"); +// cusRegisterInfoService.updateById(registerInfo); +// //鑻ユ敹璐硅繕灏嗛��璐� +// //鐭俊鎴栭偖绠卞憡鐭ュ鎴� +// } +// } + } + return AjaxResult.success(); + } + } + return AjaxResult.error(); + } + + /** + * 鍒犻櫎鎺掔彮鏃堕棿 + */ + @DeleteMapping("/{ids}") + @ApiOperation(value = "鍒犻櫎鍖荤敓鎺掔彮鏃堕棿鎺ュ彛") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(mallSchedulingTimeService.removeByIds(Arrays.asList(ids))); + } + + + /** + * 鑾峰彇鎺掔彮淇℃伅涓存椂鏁版嵁鎺ュ彛 + */ + @PostMapping("/getSchedulingInformation") + @ApiOperation(value = "鑾峰彇鎺掔彮淇℃伅涓存椂鏁版嵁鎺ュ彛") + public AjaxResult getSchedulingInformation(@RequestBody MallSchedulingTimeDto dto) { + List<MallSchedulingTime> list=new ArrayList<>(); + if(null !=dto){ + if(null !=dto.getStartTime() && null !=dto.getEndTime()){ + List<Date> dateList = mallSchedulingTimeService.getDateListByBetweenTime(dto.getStartTime(), dto.getEndTime()); + if(null !=dateList && dateList.size()>0){ + if (dto.getMOrA()==1){ + for (Date date : dateList) { + MallSchedulingTime schedulingTime =new MallSchedulingTime(); + schedulingTime.setTime(DateUtil.parse(DateUtil.format(date,"yyyy-MM-dd"))); + schedulingTime.setAllNum(Long.valueOf(dto.getAllNum())); + schedulingTime.setNowNum(Long.valueOf(dto.getAllNum())); + schedulingTime.setWeek(DateUtils.dateToWeek(date)); + schedulingTime.setMOrA("涓婂崍"); + schedulingTime.setUserId(dto.getUserId()); + schedulingTime.setUserName(dto.getUserName()); + schedulingTime.setIsClose("N"); +// schedulingTime.setTimeSlot(s); + schedulingTime.setNumType(dto.getNumType()); + schedulingTime.setDeptId(dto.getDeptId()); + schedulingTime.setDeptName(dto.getDeptName()); + list.add(schedulingTime); + } + }else if (dto.getMOrA()==2){ + for (Date date : dateList) { + MallSchedulingTime schedulingTime =new MallSchedulingTime(); + schedulingTime.setTime(DateUtil.parse(DateUtil.format(date,"yyyy-MM-dd"))); + schedulingTime.setAllNum(Long.valueOf(dto.getAllNum())); + schedulingTime.setNowNum(Long.valueOf(dto.getAllNum())); + schedulingTime.setWeek(DateUtils.dateToWeek(date)); + schedulingTime.setMOrA("涓嬪崍"); + schedulingTime.setUserId(dto.getUserId()); + schedulingTime.setUserName(dto.getUserName()); + schedulingTime.setIsClose("N"); +// schedulingTime.setTimeSlot(s); + schedulingTime.setNumType(dto.getNumType()); + schedulingTime.setDeptId(dto.getDeptId()); + schedulingTime.setDeptName(dto.getDeptName()); + list.add(schedulingTime); + } + }else if (dto.getMOrA()==3){ + for (Date date : dateList) { + MallSchedulingTime schedulingTime =new MallSchedulingTime(); + schedulingTime.setTime(DateUtil.parse(DateUtil.format(date,"yyyy-MM-dd"))); + schedulingTime.setAllNum(Long.valueOf(dto.getAllNum())); + schedulingTime.setNowNum(Long.valueOf(dto.getAllNum())); + schedulingTime.setWeek(DateUtils.dateToWeek(date)); + schedulingTime.setMOrA("涓婂崍"); + schedulingTime.setUserId(dto.getUserId()); + schedulingTime.setUserName(dto.getUserName()); + schedulingTime.setIsClose("N"); +// schedulingTime.setTimeSlot(s); + schedulingTime.setNumType(dto.getNumType()); + schedulingTime.setDeptId(dto.getDeptId()); + schedulingTime.setDeptName(dto.getDeptName()); + list.add(schedulingTime); + + MallSchedulingTime schedulingTime1 =new MallSchedulingTime(); + schedulingTime1.setTime(DateUtil.parse(DateUtil.format(date,"yyyy-MM-dd"))); + schedulingTime1.setAllNum(Long.valueOf(dto.getAllNum())); + schedulingTime1.setNowNum(Long.valueOf(dto.getAllNum())); + schedulingTime1.setWeek(DateUtils.dateToWeek(date)); + schedulingTime1.setMOrA("涓嬪崍"); + schedulingTime1.setUserId(dto.getUserId()); + schedulingTime1.setUserName(dto.getUserName()); + schedulingTime1.setIsClose("N"); +// schedulingTime.setTimeSlot(s); + schedulingTime1.setNumType(dto.getNumType()); + schedulingTime1.setDeptId(dto.getDeptId()); + schedulingTime1.setDeptName(dto.getDeptName()); + list.add(schedulingTime1); + } + } + + } + } + } + return AjaxResult.success(list); + } + + + + /** + * 鑾峰彇鎵�鏈夊尰鐢熶俊鎭暟鎹垪琛ㄦ帴鍙� + */ + @GetMapping("/getUserListBySchedulingTimt") + @ApiOperation(value = "鑾峰彇鎵�鏈夊尰鐢熶俊鎭暟鎹垪琛ㄦ帴鍙�") + public AjaxResult getUserListBySchedulingTimt(@RequestParam(required = false) @ApiParam(value = "鍖荤敓濮撳悕") String userName, + @RequestParam(required = false) @ApiParam(value = "绉戝") String deptName, + @RequestParam(defaultValue = "1") @ApiParam(value = "鍒嗛〉") Integer pageNum, + @RequestParam(defaultValue = "10") @ApiParam(value = "涓�椤靛睍绀烘潯鏁�") Integer pageSize) { + Page<SysUser> page=new Page<>(pageNum,pageSize); + LambdaQueryWrapper<SysUser> wq=new LambdaQueryWrapper<>(); + if(null !=userName){ + wq.like(SysUser::getNickName,userName); + } + if(null !=deptName && !"".equals(deptName)){ + wq.in(SysUser::getDeptId,deptService.getSysDeptId(deptName)); + } + Page<SysUser> userPage = userService.page(page, wq); + List<SysUser> list = userPage.getRecords(); + List<DoctorUserVo> voList = new ArrayList<>(); + if(null !=list && list.size()>0){ + for (SysUser user : list) { + DoctorUserVo vo=new DoctorUserVo(); + vo.setUserId(String.valueOf(user.getUserId())); + vo.setUserName(user.getNickName()); + vo.setDeptId(String.valueOf(user.getDeptId())); + vo.setDeptName(deptService.getById(user.getDeptId()).getDeptName()); + DictUserInfo info = userInfoService.getOne(new LambdaQueryWrapper<DictUserInfo>().eq(DictUserInfo::getUserId,user.getUserId())); + if(null !=info){ + vo.setCftitle(info.getCftitle()); + } + List<MallSchedulingTime> timeList = mallSchedulingTimeService.list(new LambdaQueryWrapper<MallSchedulingTime>() + .eq(MallSchedulingTime::getUserId, user.getUserId()).orderByDesc(MallSchedulingTime::getTime)); + if(null !=timeList && timeList.size()>0){ + if(null !=timeList.get(0)){ + vo.setTime(timeList.get(0).getTime()); + } + } + voList.add(vo); + } + } + Map<String,Object> map=new HashMap<>(); + map.put("total",page.getTotal()); + map.put("voList",voList); + return AjaxResult.success(map); + } + + /** + * 鑾峰彇棰勭害鏃堕棿娈靛瓧鍏稿垪琛� + */ +// @GetMapping("/getTimeList") +// @ApiOperation(value = "鑾峰彇棰勭害鏃堕棿娈靛瓧鍏稿垪琛�") +// public AjaxResult getTimeList() { +// LambdaQueryWrapper<SysDictData> wq22 = new LambdaQueryWrapper<>(); +// wq22.eq(SysDictData::getDictType, "yuyue_time_slot"); +// final List<SysDictData> list = dictDataService.list(wq22); +// return success(list); +// } + +} diff --git a/ltkj-common/src/main/java/com/ltkj/common/core/domain/entity/MallSchedulingTime.java b/ltkj-common/src/main/java/com/ltkj/common/core/domain/entity/MallSchedulingTime.java new file mode 100644 index 0000000..ea912b0 --- /dev/null +++ b/ltkj-common/src/main/java/com/ltkj/common/core/domain/entity/MallSchedulingTime.java @@ -0,0 +1,131 @@ +package com.ltkj.common.core.domain.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.ltkj.common.annotation.Excel; +import com.ltkj.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * 棰勭害鏃堕棿瀵硅薄 mall_time_config + * + * @author ltkj_璧典匠璞�&鏉庢牸 + * @date 2023-07-18 + */ + +@Data +@ApiModel +public class MallSchedulingTime extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.AUTO) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "鏃ユ湡") + private Date time; + + /** + * 棰勭害闄愬彿 + */ + @Excel(name = "棰勭害闄愬彿") + @ApiModelProperty(value = "棰勭害闄愬彿") + private Long allNum; + + /** + * 浣欐暟 + */ + @Excel(name = "浣欐暟") + @ApiModelProperty(value = "浣欐暟") + private Long nowNum; + + @ApiModelProperty(value = "鏄熸湡") + private String week; + + @ApiModelProperty(value = "涓婂崍鎴栦笅鍗�") + private String mOrA; + + @ApiModelProperty(value = "鍖荤敓id") + private String userId; + + @ApiModelProperty(value = "鍖荤敓濮撳悕") + private String userName; + + @ApiModelProperty(value = "闄㈠尯id") + private String hospId; + + @ApiModelProperty(value = "闄㈠尯鍚嶅瓧") + private String hospName; + + @ApiModelProperty(value = "鏄惁鍋滆瘖") + private String isClose; + + @ApiModelProperty(value = "鏃堕棿娈�") + private String timeSlot; + + @ApiModelProperty(value = "鍙风被") + private String numType; + + @ApiModelProperty(value = "绉戝id") + private String deptId; + + + @ApiModelProperty(value = "绉戝鍚�") + private String deptName; + + @ApiModelProperty(value = "瑙掕壊鍚嶇О") + @TableField(exist = false) + private String roleName; + + @ApiModelProperty(value = "鍖荤敓澶村儚") + @TableField(exist = false) + private String avatar; + + /** + * 澶勬柟鑱岀О锛圥T10.01.029) + */ + @ApiModelProperty(value = "澶勬柟鑱岀О") + @TableField(exist = false) + private String cftitle; + + /** + * 绠�浠� + */ + @ApiModelProperty(value = "绠�浠�") + @TableField(exist = false) + private String profile; + + /** + * 鎿呴暱棰嗗煙 + */ + @ApiModelProperty(value = "鎿呴暱棰嗗煙") + @TableField(exist = false) + private String expGoodArea; + + + + @TableField(exist = false) + private String startTime; + + + @TableField(exist = false) + private String endTime; + + +} diff --git a/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java b/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java index 39e7d23..452077c 100644 --- a/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java +++ b/ltkj-common/src/main/java/com/ltkj/common/utils/DateUtils.java @@ -8,6 +8,7 @@ import java.time.LocalTime; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.util.Calendar; import java.util.Date; import org.apache.commons.lang3.time.DateFormatUtils; @@ -162,4 +163,21 @@ ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } + /** + * 鏍规嵁鏃ユ湡鑾峰彇 鏄熸湡 + * @param + * @return + */ + public static String dateToWeek(Date date) { + + SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); + String[] weekDays = {"鏄熸湡鏃�", "鏄熸湡涓�", "鏄熸湡浜�", "鏄熸湡涓�", "鏄熸湡鍥�", "鏄熸湡浜�", "鏄熸湡鍏�"}; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + //涓�鍛ㄧ殑绗嚑澶� + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + if (w < 0) + w = 0; + return weekDays[w]; + } } diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java index 6e8df94..d31baca 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java @@ -7489,4 +7489,32 @@ } return realname; } + + /** + * 鏍规嵁鏃堕棿娈靛垽鏂笂鍗堣繕鏄笅鍗� + * + * @param timeSlot + * @return + */ +// public static String getMorA(String timeSlot){ +// String reg=""; +// switch (timeSlot){ +// case "1": +// case "2": +// case "3": +// case "4": +// reg="涓婂崍"; +// break; +// +// case "5": +// case "6": +// case "7": +// reg="涓嬪崍"; +// break; +// +// default:break; +// } +// +// return reg; +// } } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/dto/MallSchedulingTimeDto.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/dto/MallSchedulingTimeDto.java new file mode 100644 index 0000000..c5e01c4 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/dto/MallSchedulingTimeDto.java @@ -0,0 +1,50 @@ +package com.ltkj.hosp.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 + * @Author: zjh + * @Date: 2023/8/23 11:33 + */ + + +@Data +@ApiModel +public class MallSchedulingTimeDto { + + + @ApiModelProperty(value = "鍖荤敓id") + private String userId; + + @ApiModelProperty(value = "鍖荤敓濮撳悕") + private String userName; + + @ApiModelProperty(value = "绉戝id") + private String deptId; + + @ApiModelProperty(value = "绉戝鍚�") + private String deptName; + + + @ApiModelProperty(value = "涓婂崍/涓嬪崍") + private Integer mOrA; + + @ApiModelProperty(value = "鍙风被") + private String numType; + + + @ApiModelProperty(value = "鎬绘暟") + private Integer allNum; + + @ApiModelProperty(value = "寮�濮嬫椂闂�") + private String startTime; + + @ApiModelProperty(value = "缁撴潫鏃堕棿") + private String endTime; + +} diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/vodomain/DoctorUserVo.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/vodomain/DoctorUserVo.java new file mode 100644 index 0000000..c29ac63 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/vodomain/DoctorUserVo.java @@ -0,0 +1,39 @@ +package com.ltkj.hosp.vodomain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 + * @Author: zjh + * @Date: 2023/8/23 13:39 + */ + +@Data +@ApiModel +public class DoctorUserVo { + + + @ApiModelProperty(value = "鍖荤敓id") + private String userId; + + @ApiModelProperty(value = "鍖荤敓鍚嶅瓧") + private String userName; + + @ApiModelProperty(value = "閮ㄩ棬ID") + private String deptId; + + @ApiModelProperty(value = "閮ㄩ棬鍚�") + private String deptName; + + @ApiModelProperty(value = "澶勬柟鑱岀О") + private String cftitle; + + @ApiModelProperty(value = "鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date time; +} diff --git a/ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallSchedulingTimeMapper.java b/ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallSchedulingTimeMapper.java new file mode 100644 index 0000000..6b66871 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallSchedulingTimeMapper.java @@ -0,0 +1,79 @@ +package com.ltkj.mall.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ltkj.common.core.domain.entity.MallSchedulingTime; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.Date; +import java.util.List; + +/** + * 棰勭害鏃堕棿Mapper鎺ュ彛 + * + * @author ltkj_璧典匠璞�&鏉庢牸 + * @date 2023-07-18 + */ +@Mapper +public interface MallSchedulingTimeMapper extends BaseMapper<MallSchedulingTime> { + /** + * 鏌ヨ棰勭害鏃堕棿 + * + * @param id 棰勭害鏃堕棿涓婚敭 + * @return 棰勭害鏃堕棿 + */ + public MallSchedulingTime selectMallSchedulingTimeById(Long id); + + /** + * 鏌ヨ棰勭害鏃堕棿鍒楄〃 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 棰勭害鏃堕棿闆嗗悎 + */ + public List<MallSchedulingTime> selectMallSchedulingTimeList(MallSchedulingTime mallTimeConfig); + + /** + * 鏂板棰勭害鏃堕棿 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 缁撴灉 + */ + public int insertMallSchedulingTime(MallSchedulingTime mallTimeConfig); + + /** + * 淇敼棰勭害鏃堕棿 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 缁撴灉 + */ + public int updateMallSchedulingTime(MallSchedulingTime mallTimeConfig); + + /** + * 鍒犻櫎棰勭害鏃堕棿 + * + * @param id 棰勭害鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + public int deleteMallSchedulingTimeById(Long id); + + /** + * 鎵归噺鍒犻櫎棰勭害鏃堕棿 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteMallSchedulingTimeByIds(Long[] ids); + + + + @Select("SELECT\n" + + " date_add( date_sub(#{startTime},interval 1 day), INTERVAL ( cast( help_topic_id AS signed INTEGER ) + 1 ) day ) day \n" + + "FROM\n" + + " mysql.help_topic \n" + + "WHERE\n" + + " help_topic_id < DATEDIFF(#{endTime},date_sub(#{startTime},interval 1 day))\n" + + "ORDER BY\n" + + " help_topic_id") + List<Date> getDateListByBetweenTime(@Param("startTime") String startTime,@Param("endTime") String endTime); +} diff --git a/ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallTimeConfigMapper.java b/ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallTimeConfigMapper.java index 1d40900..48998d4 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallTimeConfigMapper.java +++ b/ltkj-hosp/src/main/java/com/ltkj/mall/mapper/MallTimeConfigMapper.java @@ -3,7 +3,6 @@ import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ltkj.mall.domain.MallSearchHistory; import com.ltkj.mall.domain.MallTimeConfig; import org.apache.ibatis.annotations.Mapper; diff --git a/ltkj-hosp/src/main/java/com/ltkj/mall/service/IMallSchedulingTimeService.java b/ltkj-hosp/src/main/java/com/ltkj/mall/service/IMallSchedulingTimeService.java new file mode 100644 index 0000000..7fc0168 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/mall/service/IMallSchedulingTimeService.java @@ -0,0 +1,65 @@ +package com.ltkj.mall.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ltkj.common.core.domain.entity.MallSchedulingTime; + +import java.util.Date; +import java.util.List; + +/** + * 棰勭害鏃堕棿Service鎺ュ彛 + * + * @author ltkj_璧典匠璞�&鏉庢牸 + * @date 2023-07-18 + */ +public interface IMallSchedulingTimeService extends IService<MallSchedulingTime> { + /** + * 鏌ヨ棰勭害鏃堕棿 + * + * @param id 棰勭害鏃堕棿涓婚敭 + * @return 棰勭害鏃堕棿 + */ + public MallSchedulingTime selectMallTimeConfigById(Long id); + + /** + * 鏌ヨ棰勭害鏃堕棿鍒楄〃 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 棰勭害鏃堕棿闆嗗悎 + */ + public List<MallSchedulingTime> selectMallTimeConfigList(MallSchedulingTime mallTimeConfig); + + /** + * 鏂板棰勭害鏃堕棿 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 缁撴灉 + */ + public int insertMallTimeConfig(MallSchedulingTime mallTimeConfig); + + /** + * 淇敼棰勭害鏃堕棿 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 缁撴灉 + */ + public int updateMallTimeConfig(MallSchedulingTime mallTimeConfig); + + /** + * 鎵归噺鍒犻櫎棰勭害鏃堕棿 + * + * @param ids 闇�瑕佸垹闄ょ殑棰勭害鏃堕棿涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteMallTimeConfigByIds(Long[] ids); + + /** + * 鍒犻櫎棰勭害鏃堕棿淇℃伅 + * + * @param id 棰勭害鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + public int deleteMallTimeConfigById(Long id); + + List<Date> getDateListByBetweenTime(String startTime,String endTime); +} diff --git a/ltkj-hosp/src/main/java/com/ltkj/mall/service/impl/MallSchedulingTimeServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/mall/service/impl/MallSchedulingTimeServiceImpl.java new file mode 100644 index 0000000..ac4e452 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/mall/service/impl/MallSchedulingTimeServiceImpl.java @@ -0,0 +1,98 @@ +package com.ltkj.mall.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ltkj.common.core.domain.entity.MallSchedulingTime; +import com.ltkj.common.utils.DateUtils; +import com.ltkj.mall.mapper.MallSchedulingTimeMapper; +import com.ltkj.mall.mapper.MallTimeConfigMapper; +import com.ltkj.mall.service.IMallSchedulingTimeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 棰勭害鏃堕棿Service涓氬姟灞傚鐞� + * + * @author ltkj_璧典匠璞�&鏉庢牸 + * @date 2023-07-18 + */ +@Service +public class MallSchedulingTimeServiceImpl extends ServiceImpl<MallSchedulingTimeMapper, MallSchedulingTime> implements IMallSchedulingTimeService { + @Autowired + private MallSchedulingTimeMapper mallTimeConfigMapper; + + /** + * 鏌ヨ棰勭害鏃堕棿 + * + * @param id 棰勭害鏃堕棿涓婚敭 + * @return 棰勭害鏃堕棿 + */ + @Override + public MallSchedulingTime selectMallTimeConfigById(Long id) { + return mallTimeConfigMapper.selectMallSchedulingTimeById(id); + } + + /** + * 鏌ヨ棰勭害鏃堕棿鍒楄〃 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 棰勭害鏃堕棿 + */ + @Override + public List<MallSchedulingTime> selectMallTimeConfigList(MallSchedulingTime mallTimeConfig) { + return mallTimeConfigMapper.selectMallSchedulingTimeList(mallTimeConfig); + } + + /** + * 鏂板棰勭害鏃堕棿 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 缁撴灉 + */ + @Override + public int insertMallTimeConfig(MallSchedulingTime mallTimeConfig) { + mallTimeConfig.setCreateTime(DateUtils.getNowDate()); + return mallTimeConfigMapper.insertMallSchedulingTime(mallTimeConfig); + } + + /** + * 淇敼棰勭害鏃堕棿 + * + * @param mallTimeConfig 棰勭害鏃堕棿 + * @return 缁撴灉 + */ + @Override + public int updateMallTimeConfig(MallSchedulingTime mallTimeConfig) { + mallTimeConfig.setUpdateTime(DateUtils.getNowDate()); + return mallTimeConfigMapper.updateMallSchedulingTime(mallTimeConfig); + } + + /** + * 鎵归噺鍒犻櫎棰勭害鏃堕棿 + * + * @param ids 闇�瑕佸垹闄ょ殑棰勭害鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteMallTimeConfigByIds(Long[] ids) { + return mallTimeConfigMapper.deleteMallSchedulingTimeByIds(ids); + } + + /** + * 鍒犻櫎棰勭害鏃堕棿淇℃伅 + * + * @param id 棰勭害鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteMallTimeConfigById(Long id) { + return mallTimeConfigMapper.deleteMallSchedulingTimeById(id); + } + + @Override + public List<Date> getDateListByBetweenTime(String startTime, String endTime) { + return mallTimeConfigMapper.getDateListByBetweenTime(startTime,endTime); + } +} diff --git a/ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java b/ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java index 169db50..b8ce296 100644 --- a/ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java +++ b/ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.ltkj.common.core.domain.entity.SysDept; +import org.apache.ibatis.annotations.Select; /** * 閮ㄩ棬绠$悊 鏁版嵁灞� @@ -118,4 +119,7 @@ * @return 缁撴灉 */ public int deleteDeptById(Long deptId); + + @Select(" SELECT a.dept_id FROM sys_dept a WHERE a.deleted=0 AND a.dept_name like concat('%',#{deptName},'%')") + List<String> getSysDeptId(String deptName); } diff --git a/ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java b/ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java index 7114b45..1df1256 100644 --- a/ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java +++ b/ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java @@ -131,4 +131,7 @@ * @return 缁撴灉 */ public int updateDeptStatus(SysDept dept); + + + List<String> getSysDeptId(String deptName); } diff --git a/ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java b/ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java index 4c6cf06..ba54151 100644 --- a/ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java +++ b/ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java @@ -321,4 +321,10 @@ private boolean hasChild(List<SysDept> list, SysDept t) { return getChildList(list, t).size() > 0; } + + + @Override + public List<String> getSysDeptId(String deptName) { + return deptMapper.getSysDeptId(deptName); + } } -- Gitblit v1.8.0