diff --git a/src/main/java/com/bonus/boot/manager/manager/controller/WeChatController.java b/src/main/java/com/bonus/boot/manager/manager/controller/WeChatController.java index 7ee4268..e587c74 100644 --- a/src/main/java/com/bonus/boot/manager/manager/controller/WeChatController.java +++ b/src/main/java/com/bonus/boot/manager/manager/controller/WeChatController.java @@ -199,4 +199,111 @@ public class WeChatController { } + /** + * 轮休、临时外出、列表 + * @param data + * @return + */ + @GetMapping("/holidaysList") + @DecryptAndVerify(decryptedClass = HolidayBean.class) + public ServerResponse holidaysList(EncryptedReq data) { + try{ + return ServerResponse.createSuccess(service.getHolidaysList(data.getData())); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + + /** + * 根据id获取轮休、临时外出详细信息 + */ + @PostMapping("getHolidaysDetail") + @DecryptAndVerify(decryptedClass = HolidayBean.class) + public ServerResponse getHolidaysDetail(@Validated @RequestBody EncryptedReq data) { + try{ + return ServerResponse.createSuccess(service.getHolidaysDetail(data.getData().getUuid())); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + + /** + * 轮休、临时外出新增 + */ + @PostMapping("insertHoliday") + @DecryptAndVerify(decryptedClass = HolidayBean.class)//加解密统一管理 + public ServerResponse insertHoliday(@Validated @RequestBody EncryptedReq data) { + try{ + int res = service.insertHoliday(data.getData()); + return ServerResponse.createSuccess(res); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + + /** + * 轮休、临时外出修改 + */ + @PostMapping("/updateHoliday") + @DecryptAndVerify(decryptedClass = HolidayBean.class)//加解密统一管理 + public ServerResponse updateHoliday(@Validated @RequestBody EncryptedReq data){ + try { + return ServerResponse.createSuccess(service.updateHoliday(data.getData())); + } catch (Exception e) { + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + /** + * 轮休、临时外出 、休假报备、删除 + */ + @PostMapping("/deleteHolidayById") + @DecryptAndVerify(decryptedClass = HolidayBean.class)//加解密统一管理 + public ServerResponse deleteHolidayById(@Validated @RequestBody EncryptedReq data){ + try { + return ServerResponse.createSuccess(service.deleteHolidayById(data.getData())); + } catch (Exception e) { + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + + /** + * 休假报备修改 + */ + @PostMapping("/editHoliday") + @DecryptAndVerify(decryptedClass = LeaveReportingBean.class)//加解密统一管理 + public ServerResponse editHoliday(@Validated @RequestBody EncryptedReq data){ + try { + return ServerResponse.createSuccess(service.editHoliday(data.getData())); + } catch (Exception e) { + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + /** + * 出差报备修改 + */ + @PostMapping("/editEvection") + @DecryptAndVerify(decryptedClass = EvectionBean.class)//加解密统一管理 + public ServerResponse editEvection(@Validated @RequestBody EncryptedReq data){ + try { + return ServerResponse.createSuccess(service.editEvection(data.getData())); + } catch (Exception e) { + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + + } diff --git a/src/main/java/com/bonus/boot/manager/manager/dao/WeChatDao.java b/src/main/java/com/bonus/boot/manager/manager/dao/WeChatDao.java index 3b6174b..afc75d0 100644 --- a/src/main/java/com/bonus/boot/manager/manager/dao/WeChatDao.java +++ b/src/main/java/com/bonus/boot/manager/manager/dao/WeChatDao.java @@ -1,10 +1,7 @@ package com.bonus.boot.manager.manager.dao; import com.bonus.boot.manager.appManage.entity.SysUserWechat; -import com.bonus.boot.manager.manager.entity.EvectionBean; -import com.bonus.boot.manager.manager.entity.LeaveReportingBean; -import com.bonus.boot.manager.manager.entity.UserDto; -import com.bonus.boot.manager.manager.entity.WidthVo; +import com.bonus.boot.manager.manager.entity.*; import com.bonus.boot.manager.manager.model.SysUser; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; @@ -63,6 +60,13 @@ public interface WeChatDao { */ int insertLeaveReporting(LeaveReportingBean o); + /** + * 轮休、临时外出新增 + * @param o + * @return + */ + int insertHoliday(HolidayBean o); + /** * 查询休假报备列表 * @param bean @@ -104,4 +108,36 @@ public interface WeChatDao { List getFestivalAndHoliday(LeaveReportingBean bean); String getAttTypeByUserId(Long userId); + + /** + * 查询获取轮休列表 + * @param bean + * @return + */ + List getHolidaysList(HolidayBean bean); + + /** + * 查询获取轮休详情 + * @param uuId + * @return + */ + HolidayBean getHolidaysDetail(String uuId); + + /** + * 修改轮休 + * @param data + * @return + */ + int updateHoliday(HolidayBean data); + + /** + * 删除轮休 + * @param data + * @return + */ + int deleteHolidayById(HolidayBean data); + + int editHoliday(LeaveReportingBean data); + + int editEvection(EvectionBean data); } diff --git a/src/main/java/com/bonus/boot/manager/manager/entity/HolidayBean.java b/src/main/java/com/bonus/boot/manager/manager/entity/HolidayBean.java new file mode 100644 index 0000000..3eb1c1c --- /dev/null +++ b/src/main/java/com/bonus/boot/manager/manager/entity/HolidayBean.java @@ -0,0 +1,160 @@ +package com.bonus.boot.manager.manager.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.time.LocalDate; +import java.util.Date; +import java.util.List; + +/** + * packageName com.bonus.boot.manager.manager.entity + * + * @author lsun + * @version 1.0.0 + * @className HolidayBean (此处以class为例) + * @date 2025/2/17 + */ +@Data +public class HolidayBean { + /** + * 编号 + */ + private long id; + + /** + * uuid + */ + private String uuid; + + /** + * 所属部门编号 + */ + private Long orgId; + /** + * 所属部门名称 + */ + private String orgName; + + /** + * 请假人用户编号 + */ + private Long userId; + + /** 创建者 */ + private Long createUserId; + + /** + * 用户编号用来判断是否是本人 + */ + private Long userIds; + /** + * 请假人姓名 + */ + private String userName; + + /** + * 请假开始日期 + */ + private LocalDate leaveStartDate; + /** + * 请假开始时段1上午2下午 + */ + private String leaveStartInterval; + /** + * 请假结束日期 + */ + private LocalDate leaveEndDate; + /** + * 请假结束时段1上午2下午 + */ + private String leaveEndInterval; + /** + * 请假时长 + */ + private Double leaveDuration; + /** + * 请假事由 + */ + private String leaveReason; + + /** + * 请假类型 + */ + private String leaveType; + + /** + * 请假类型 + */ + private String type; + + /** + * 请假日期 + */ + private String leaveDate; + + + /** + * 数据来源1新增2导入 + */ + private String source; + + /** + * 审批意见 + */ + private String examineOpinion; + /** + * 审批状态0审核中1通过2不通过 + */ + private String examineStatus; + /** + * 审批时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date examineTime; + /** + * 审批人编号 + */ + private Long examineUserId; + + /** + * 导出类型 1 查询 2 审批 + */ + private String exportType; + + /** + * 自己项目部所在分公司下的所有项目部id + */ + private List orgList; + + /** + * 代理主持工作人员(多个自动隔开) + */ + private String hostUserId; + + /** + * 地点 + */ + private String location; + + /** + * 是否请示领导 1 是 0 否 + */ + private String isAgree; + + /** + * 备注 + */ + private String remark; + + /** + * 角色类型 1:人资专员和管理员;2:考勤员 + */ + private String roleType; + private String[] orgListId; + + private Long updateUserId; + + /**一键审批ID*/ + private List ids; +} diff --git a/src/main/java/com/bonus/boot/manager/manager/entity/LeaveReportingBean.java b/src/main/java/com/bonus/boot/manager/manager/entity/LeaveReportingBean.java index 8d6a911..a14f44f 100644 --- a/src/main/java/com/bonus/boot/manager/manager/entity/LeaveReportingBean.java +++ b/src/main/java/com/bonus/boot/manager/manager/entity/LeaveReportingBean.java @@ -32,6 +32,8 @@ public class LeaveReportingBean { */ private Long userId; + private Long updateUserId; + private Long createUserId; /** diff --git a/src/main/java/com/bonus/boot/manager/manager/service/WeChatService.java b/src/main/java/com/bonus/boot/manager/manager/service/WeChatService.java index 6de1b24..c07014d 100644 --- a/src/main/java/com/bonus/boot/manager/manager/service/WeChatService.java +++ b/src/main/java/com/bonus/boot/manager/manager/service/WeChatService.java @@ -1,6 +1,7 @@ package com.bonus.boot.manager.manager.service; import com.bonus.boot.manager.manager.entity.EvectionBean; +import com.bonus.boot.manager.manager.entity.HolidayBean; import com.bonus.boot.manager.manager.entity.LeaveReportingBean; import com.bonus.boot.manager.manager.entity.UserDto; import com.bonus.boot.manager.manager.model.SysUser; @@ -88,4 +89,33 @@ public interface WeChatService { * @return */ String getDays(LeaveReportingBean bean); + + /** + * 获取轮休列表 + * @param data + * @return + */ + List getHolidaysList(HolidayBean data); + + /** + * 获取轮休详情 + * @param uuId + * @return + */ + HolidayBean getHolidaysDetail(String uuId); + + /** + * 轮休、临时外出新增 + * @param data + * @return + */ + int insertHoliday(HolidayBean data); + + int updateHoliday(HolidayBean data); + + int deleteHolidayById(HolidayBean data); + + int editHoliday(LeaveReportingBean data); + + int editEvection(EvectionBean data); } diff --git a/src/main/java/com/bonus/boot/manager/manager/service/impl/WeChatServiceImpl.java b/src/main/java/com/bonus/boot/manager/manager/service/impl/WeChatServiceImpl.java index 71db349..bf2dd6a 100644 --- a/src/main/java/com/bonus/boot/manager/manager/service/impl/WeChatServiceImpl.java +++ b/src/main/java/com/bonus/boot/manager/manager/service/impl/WeChatServiceImpl.java @@ -2,6 +2,7 @@ package com.bonus.boot.manager.manager.service.impl; import com.bonus.boot.manager.manager.dao.WeChatDao; import com.bonus.boot.manager.manager.entity.EvectionBean; +import com.bonus.boot.manager.manager.entity.HolidayBean; import com.bonus.boot.manager.manager.entity.LeaveReportingBean; import com.bonus.boot.manager.manager.entity.UserDto; import com.bonus.boot.manager.manager.model.SysUser; @@ -186,6 +187,81 @@ public class WeChatServiceImpl implements WeChatService { } } + /** + * 获取轮休列表 + * @param bean + * @return + */ + @Override + public List getHolidaysList(HolidayBean bean) { + Long userId = Long.valueOf(UserUtil.getLoginUser().getUserId()); + bean.setUserId(userId); + return dao.getHolidaysList(bean); + } + + /** + * 获取轮休详情 + * @param uuId + * @return + */ + @Override + public HolidayBean getHolidaysDetail(String uuId) { + return dao.getHolidaysDetail(uuId); + } + + /** + * 轮休、临时外出新增 + * @param o + * @return + */ + @Override + public int insertHoliday(HolidayBean o) { + Long userId = Long.valueOf(UserUtil.getLoginUser().getUserId()); + String uuId = UUID.randomUUID().toString(); + o.setUuid(uuId); + o.setCreateUserId(userId); + o.setSource("3"); + o.setUserId(userId); + o.setLeaveStartInterval("1"); + o.setLeaveEndInterval("2"); + int i = dao.insertHoliday(o); + return i; + } + + /** + * 轮休、临时外出修改 + * @param data + * @return + */ + @Override + public int updateHoliday(HolidayBean data) { + Long userId = Long.valueOf(UserUtil.getLoginUser().getUserId()); + data.setUpdateUserId(userId); + int i = dao.updateHoliday(data); + return i; + } + + @Override + public int deleteHolidayById(HolidayBean data) { + return dao.deleteHolidayById(data); + } + + @Override + public int editHoliday(LeaveReportingBean data) { + Long userId = Long.valueOf(UserUtil.getLoginUser().getUserId()); + data.setUpdateUserId(userId); + int i = dao.editHoliday(data); + return i; + } + + @Override + public int editEvection(EvectionBean data) { + Long userId = Long.valueOf(UserUtil.getLoginUser().getUserId()); + data.setUpdateUserId(userId); + int i = dao.editEvection(data); + return i; + } + // 辅助方法:将字符串解析为Date对象 private Date parseDate(String dateStr) throws ParseException { return DATE_FORMAT.get().parse(dateStr); diff --git a/src/main/resources/mappers/wechat/WeChatMapper.xml b/src/main/resources/mappers/wechat/WeChatMapper.xml index eb64a43..b1acaaf 100644 --- a/src/main/resources/mappers/wechat/WeChatMapper.xml +++ b/src/main/resources/mappers/wechat/WeChatMapper.xml @@ -34,13 +34,133 @@ #{leaveEndDate}, #{leaveEndInterval}, #{leaveDuration}, #{source}, #{createUserId}, #{isAgree}, #{location}, #{hostUserId}, #{hostUserName}, - #{remark}, '1') + #{remark}, '0') + + + INSERT INTO leave_apply_wechat(uuid, user_id, user_name, org_id, org_name, leave_type, type, leave_reason, + leave_start_date, + leave_start_interval, + leave_end_date, + leave_end_interval, + leave_duration, source, create_user_id, is_agree, location, host_user_id, + host_user_name, remark, examine_status) + VALUES (#{uuid}, #{userId}, #{userName}, #{orgId}, #{orgName}, #{leaveType}, #{type}, #{leaveReason}, + #{leaveStartDate}, + #{leaveStartInterval}, + #{leaveEndDate}, + #{leaveEndInterval}, + #{leaveDuration}, #{source}, #{createUserId}, #{isAgree}, #{location}, #{hostUserId}, #{hostUserName}, + #{remark}, '0') + + update sys_user_wechat set password = #{password} where user_id = #{userId} + + + UPDATE leave_apply_wechat + + + user_id = #{userId}, + + + user_name = #{userName}, + + + org_id = #{orgId}, + + + org_name = #{orgName}, + + leave_reason = #{leaveReason}, + leave_start_date = #{leaveStartDate}, + leave_start_interval = #{leaveStartInterval}, + leave_end_date = #{leaveEndDate}, + leave_end_interval = #{leaveEndInterval}, + leave_duration = #{leaveDuration}, + examine_status = #{examineStatus}, + update_user_id = #{updateUserId}, + is_agree = #{isAgree}, + location = #{location}, + host_user_id = #{hostUserId}, + remark = #{remark} + + where uuid = #{uuid} + + + + update leave_apply_wechat SET is_active = '0' WHERE uuid = #{uuid} + + + + UPDATE leave_apply_wechat + + + user_id = #{userId}, + + + user_name = #{userName}, + + + org_id = #{orgId}, + + + org_name = #{orgName}, + + leave_type = #{leaveType}, + type = '请假', + leave_reason = #{leaveReason}, + leave_start_date = #{leaveStartDate}, + leave_start_interval = #{leaveStartInterval}, + leave_end_date = #{leaveEndDate}, + leave_end_interval = #{leaveEndInterval}, + leave_duration = #{leaveDuration}, + source = #{source}, + update_user_id = #{updateUserId}, + is_agree = #{isAgree}, + location = #{location}, + host_user_id = #{hostUserId}, + host_user_name = #{hostUserName}, + remark = #{remark} + + where uuid = #{uuid} + + + + UPDATE leave_apply_wechat + + + user_id = #{userId}, + + + user_name = #{userName}, + + + org_id = #{orgId}, + + + org_name = #{orgName}, + + leave_reason = #{leaveReason}, + leave_start_date = #{leaveStartDate}, + leave_start_interval = #{leaveStartInterval}, + leave_end_date = #{leaveEndDate}, + leave_end_interval = #{leaveEndInterval}, + leave_duration = #{leaveDuration}, + source = #{source}, + update_user_id = #{updateUserId}, + is_agree = #{isAgree}, + location = #{location}, + host_user_id = #{hostUserId}, + host_user_name = #{hostUserName}, + remark = #{remark} + + where uuid = #{uuid} + + + + + +