diff --git a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java index f219023..cc92601 100644 --- a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java +++ b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java @@ -141,4 +141,12 @@ public class UserConstants public static final String CAL_SHIFT_NAME_NIGHT="夜班"; public static final String CAL_SHIFT_NAME_MID="中班"; + /** + * 排班日历的查询方式 + */ + public static final String CAL_QUERY_BY_TYPE="TYPE"; + public static final String CAL_QUERY_BY_TEAM="TEAM"; + public static final String CAL_QUERY_BY_USER="USER"; + + } diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/controller/CalCalendarController.java b/ktg-mes/src/main/java/com/ktg/mes/cal/controller/CalCalendarController.java new file mode 100644 index 0000000..6f08a9d --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/controller/CalCalendarController.java @@ -0,0 +1,51 @@ +package com.ktg.mes.cal.controller; + +import com.ktg.common.constant.UserConstants; +import com.ktg.common.core.controller.BaseController; +import com.ktg.common.core.domain.AjaxResult; +import com.ktg.common.utils.StringUtils; +import com.ktg.mes.cal.domain.CalCalendar; +import com.ktg.mes.cal.service.ICalCalendarService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.List; + +/** + * 排班日历 + * + * @author yinjinlu + * @date 2022-06-10 + */ +@RestController +@RequestMapping("/mes/cal/calendar") +public class CalCalendarController extends BaseController { + + @Autowired + private ICalCalendarService calCalendarService; + + @PreAuthorize("@ss.hasPermi('mes:cal:calendar:list')") + @GetMapping("/list") + public AjaxResult getCalendars(CalCalendar calCalendar){ + + Date day = calCalendar.getDate(); + List days = null; + if(StringUtils.isNull(day)){ + day = new Date(); + } + + if(UserConstants.CAL_QUERY_BY_TYPE.equals(calCalendar.getQueryType())){ + days=calCalendarService.getCalendarByType(day,calCalendar.getCalendarType()); + }else if(UserConstants.CAL_QUERY_BY_TEAM.equals(calCalendar.getQueryType())){ + days=calCalendarService.getCalendarByTeam(day,calCalendar.getTeamId()); + }else { + days=calCalendarService.getCalendarByUser(day,calCalendar.getUserId()); + } + + return AjaxResult.success(days); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalCalendar.java b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalCalendar.java new file mode 100644 index 0000000..25ef7b6 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalCalendar.java @@ -0,0 +1,113 @@ +package com.ktg.mes.cal.domain; + +import com.ktg.common.core.domain.BaseEntity; + +import java.util.Date; +import java.util.List; + +public class CalCalendar extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 查询参数部分 + */ + private String queryType; + + private Date date; + + private String calendarType; + + private Long teamId; + + private Long userId; + + + /** + * 返回值部分 + */ + private String theDay; + + private String shiftType; + + private List teamShifts; + + + public String getQueryType() { + return queryType; + } + + public void setQueryType(String queryType) { + this.queryType = queryType; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getCalendarType() { + return calendarType; + } + + public void setCalendarType(String calendarType) { + this.calendarType = calendarType; + } + + public Long getTeamId() { + return teamId; + } + + public void setTeamId(Long teamId) { + this.teamId = teamId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getTheDay() { + return theDay; + } + + public void setTheDay(String theDay) { + this.theDay = theDay; + } + + public String getShiftType() { + return shiftType; + } + + public void setShiftType(String shiftType) { + this.shiftType = shiftType; + } + + public List getTeamShifts() { + return teamShifts; + } + + public void setTeamShifts(List teamShifts) { + this.teamShifts = teamShifts; + } + + @Override + public String toString() { + return "CalCalendar{" + + "queryType='" + queryType + '\'' + + ", date='" + date + '\'' + + ", calendarType='" + calendarType + '\'' + + ", teamId=" + teamId + + ", userId=" + userId + + ", theDay=" + theDay + + ", shiftType='" + shiftType + '\'' + + ", teamShifts=" + teamShifts + + '}'; + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalPlan.java b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalPlan.java index cdf2603..2cdb1d3 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalPlan.java +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalPlan.java @@ -52,6 +52,8 @@ public class CalPlan extends BaseEntity @Excel(name = "数") private Long shiftCount; + private String status; + /** 预留字段1 */ private String attr1; @@ -149,7 +151,15 @@ public class CalPlan extends BaseEntity this.attr1 = attr1; } - public String getAttr1() + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getAttr1() { return attr1; } @@ -183,25 +193,21 @@ public class CalPlan extends BaseEntity @Override public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("planId", getPlanId()) - .append("planCode", getPlanCode()) - .append("planName", getPlanName()) - .append("startDate", getStartDate()) - .append("endDate", getEndDate()) - .append("calendarType", getCalendarType()) - .append("shiftType", getShiftType()) - .append("shiftMethod", getShiftMethod()) - .append("shiftCount", getShiftCount()) - .append("remark", getRemark()) - .append("attr1", getAttr1()) - .append("attr2", getAttr2()) - .append("attr3", getAttr3()) - .append("attr4", getAttr4()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); + return "CalPlan{" + + "planId=" + planId + + ", planCode='" + planCode + '\'' + + ", planName='" + planName + '\'' + + ", calendarType='" + calendarType + '\'' + + ", startDate=" + startDate + + ", endDate=" + endDate + + ", shiftType='" + shiftType + '\'' + + ", shiftMethod='" + shiftMethod + '\'' + + ", shiftCount=" + shiftCount + + ", status='" + status + '\'' + + ", attr1='" + attr1 + '\'' + + ", attr2='" + attr2 + '\'' + + ", attr3=" + attr3 + + ", attr4=" + attr4 + + '}'; } } diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalQueryType.java b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalQueryType.java new file mode 100644 index 0000000..0f8fa6c --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalQueryType.java @@ -0,0 +1,6 @@ +package com.ktg.mes.cal.domain; + +public enum CalQueryType { + + BY_CALTYPE,BY_TEAM,BY_USER +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalTeamshift.java b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalTeamshift.java new file mode 100644 index 0000000..03cb33b --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/domain/CalTeamshift.java @@ -0,0 +1,213 @@ +package com.ktg.mes.cal.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ktg.common.annotation.Excel; +import com.ktg.common.core.domain.BaseEntity; + +/** + * 班组排班对象 cal_teamshift + * + * @author yinjinlu + * @date 2022-06-11 + */ +public class CalTeamshift extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 流水号 */ + private Long recordId; + + /** 日期 */ + private String theDay; + + /** 班组ID */ + @Excel(name = "班组ID") + private Long teamId; + + /** 班组名称 */ + @Excel(name = "班组名称") + private String teamName; + + /** 班次ID */ + @Excel(name = "班次ID") + private Long shiftId; + + /** 班次名称 */ + @Excel(name = "班次名称") + private String shiftName; + + /** 序号 */ + @Excel(name = "序号") + private Long orderNum; + + /** 计划ID */ + @Excel(name = "计划ID") + private Long planId; + + private String calendarType; + + /** 轮班方式 */ + @Excel(name = "轮班方式") + private String shiftType; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setTheDay(String theDay) + { + this.theDay = theDay; + } + + public String getTheDay() + { + return theDay; + } + public void setTeamId(Long teamId) + { + this.teamId = teamId; + } + + public Long getTeamId() + { + return teamId; + } + public void setTeamName(String teamName) + { + this.teamName = teamName; + } + + public String getTeamName() + { + return teamName; + } + public void setShiftId(Long shiftId) + { + this.shiftId = shiftId; + } + + public Long getShiftId() + { + return shiftId; + } + public void setShiftName(String shiftName) + { + this.shiftName = shiftName; + } + + public String getShiftName() + { + return shiftName; + } + public void setOrderNum(Long orderNum) + { + this.orderNum = orderNum; + } + + public Long getOrderNum() + { + return orderNum; + } + public void setPlanId(Long planId) + { + this.planId = planId; + } + + public Long getPlanId() + { + return planId; + } + public void setShiftType(String shiftType) + { + this.shiftType = shiftType; + } + + public String getCalendarType() { + return calendarType; + } + + public void setCalendarType(String calendarType) { + this.calendarType = calendarType; + } + + public String getShiftType() + { + return shiftType; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return "CalTeamshift{" + + "recordId=" + recordId + + ", theDay=" + theDay + + ", teamId=" + teamId + + ", teamName='" + teamName + '\'' + + ", shiftId=" + shiftId + + ", shiftName='" + shiftName + '\'' + + ", orderNum=" + orderNum + + ", planId=" + planId + + ", calendarType='" + calendarType + '\'' + + ", shiftType='" + shiftType + '\'' + + ", attr1='" + attr1 + '\'' + + ", attr2='" + attr2 + '\'' + + ", attr3=" + attr3 + + ", attr4=" + attr4 + + '}'; + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/mapper/CalPlanMapper.java b/ktg-mes/src/main/java/com/ktg/mes/cal/mapper/CalPlanMapper.java index 021a4da..772504d 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/cal/mapper/CalPlanMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/mapper/CalPlanMapper.java @@ -27,6 +27,9 @@ public interface CalPlanMapper */ public List selectCalPlanList(CalPlan calPlan); + + + /** * 新增排班计划 * diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/mapper/CalTeamshiftMapper.java b/ktg-mes/src/main/java/com/ktg/mes/cal/mapper/CalTeamshiftMapper.java new file mode 100644 index 0000000..a01b107 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/mapper/CalTeamshiftMapper.java @@ -0,0 +1,61 @@ +package com.ktg.mes.cal.mapper; + +import java.util.List; +import com.ktg.mes.cal.domain.CalTeamshift; + +/** + * 班组排班Mapper接口 + * + * @author yinjinlu + * @date 2022-06-11 + */ +public interface CalTeamshiftMapper +{ + /** + * 查询班组排班 + * + * @param recordId 班组排班主键 + * @return 班组排班 + */ + public CalTeamshift selectCalTeamshiftByRecordId(Long recordId); + + /** + * 查询班组排班列表 + * + * @param calTeamshift 班组排班 + * @return 班组排班集合 + */ + public List selectCalTeamshiftList(CalTeamshift calTeamshift); + + /** + * 新增班组排班 + * + * @param calTeamshift 班组排班 + * @return 结果 + */ + public int insertCalTeamshift(CalTeamshift calTeamshift); + + /** + * 修改班组排班 + * + * @param calTeamshift 班组排班 + * @return 结果 + */ + public int updateCalTeamshift(CalTeamshift calTeamshift); + + /** + * 删除班组排班 + * + * @param recordId 班组排班主键 + * @return 结果 + */ + public int deleteCalTeamshiftByRecordId(Long recordId); + + /** + * 批量删除班组排班 + * + * @param recordIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteCalTeamshiftByRecordIds(Long[] recordIds); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/service/ICalCalendarService.java b/ktg-mes/src/main/java/com/ktg/mes/cal/service/ICalCalendarService.java new file mode 100644 index 0000000..1439669 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/service/ICalCalendarService.java @@ -0,0 +1,33 @@ +package com.ktg.mes.cal.service; + +import com.ktg.mes.cal.domain.CalCalendar; + +import java.util.Date; +import java.util.List; + +public interface ICalCalendarService { + + /** + * 查询某个班组类型在某月的排班日历 + * @param day + * @param calenderType + * @return + */ + List getCalendarByType(Date day, String calenderType); + + /** + * 查询某个班组在某个月的排班日历 + * @param day + * @param teamId + * @return + */ + List getCalendarByTeam(Date day,Long teamId); + + /** + * 查询某个人在某月的排班日历 + * @param day + * @param userId + * @return + */ + List getCalendarByUser(Date day,Long userId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/service/ICalTeamshiftService.java b/ktg-mes/src/main/java/com/ktg/mes/cal/service/ICalTeamshiftService.java new file mode 100644 index 0000000..b85dd7f --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/service/ICalTeamshiftService.java @@ -0,0 +1,61 @@ +package com.ktg.mes.cal.service; + +import java.util.List; +import com.ktg.mes.cal.domain.CalTeamshift; + +/** + * 班组排班Service接口 + * + * @author yinjinlu + * @date 2022-06-11 + */ +public interface ICalTeamshiftService +{ + /** + * 查询班组排班 + * + * @param recordId 班组排班主键 + * @return 班组排班 + */ + public CalTeamshift selectCalTeamshiftByRecordId(Long recordId); + + /** + * 查询班组排班列表 + * + * @param calTeamshift 班组排班 + * @return 班组排班集合 + */ + public List selectCalTeamshiftList(CalTeamshift calTeamshift); + + /** + * 新增班组排班 + * + * @param calTeamshift 班组排班 + * @return 结果 + */ + public int insertCalTeamshift(CalTeamshift calTeamshift); + + /** + * 修改班组排班 + * + * @param calTeamshift 班组排班 + * @return 结果 + */ + public int updateCalTeamshift(CalTeamshift calTeamshift); + + /** + * 批量删除班组排班 + * + * @param recordIds 需要删除的班组排班主键集合 + * @return 结果 + */ + public int deleteCalTeamshiftByRecordIds(Long[] recordIds); + + /** + * 删除班组排班信息 + * + * @param recordId 班组排班主键 + * @return 结果 + */ + public int deleteCalTeamshiftByRecordId(Long recordId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalCalendarServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalCalendarServiceImpl.java new file mode 100644 index 0000000..36a34fc --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalCalendarServiceImpl.java @@ -0,0 +1,77 @@ +package com.ktg.mes.cal.service.impl; + +import cn.hutool.core.collection.CollUtil; +import com.ktg.mes.cal.domain.CalCalendar; +import com.ktg.mes.cal.domain.CalTeamshift; +import com.ktg.mes.cal.mapper.CalPlanMapper; +import com.ktg.mes.cal.mapper.CalTeamshiftMapper; +import com.ktg.mes.cal.service.ICalCalendarService; +import com.ktg.mes.cal.utils.CalendarUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +@Service +public class CalCalendarServiceImpl implements ICalCalendarService { + + @Autowired + private CalPlanMapper calPlanMapper; + + @Autowired + private CalTeamshiftMapper calTeamshiftMapper; + + + /** + * 1.循环生成当前月份每一天的CalCalendar + * 2.根据月份和班组类型查询合适的plan + * 3.根据plan上的Shift_type和shift_method计算每个班组的班次 + * 4.设置CalShiftTeamBean + * @param day + * @param calenderType + * @return + */ + @Override + public List getCalendarByType(Date day, String calenderType) { + List calendars = null; + calendars = CalendarUtil.getDays(day); + for (CalCalendar cal:calendars + ) { + CalTeamshift param2 = new CalTeamshift(); + param2.setTheDay(cal.getTheDay()); + param2.setCalendarType(calenderType); + List teamshifts = calTeamshiftMapper.selectCalTeamshiftList(param2); + cal.setTeamShifts(teamshifts); + if(CollUtil.isNotEmpty(teamshifts)){ + cal.setShiftType(teamshifts.get(0).getShiftType()); + } + } + return calendars; + } + + @Override + public List getCalendarByTeam(Date day, Long teamId) { + List calendars = null; + calendars = CalendarUtil.getDays(day); + for (CalCalendar cal:calendars + ) { + CalTeamshift param2 = new CalTeamshift(); + param2.setTheDay(cal.getTheDay()); + param2.setTeamId(teamId); + List teamshifts = calTeamshiftMapper.selectCalTeamshiftList(param2); + cal.setTeamShifts(teamshifts); + if(CollUtil.isNotEmpty(teamshifts)){ + cal.setShiftType(teamshifts.get(0).getShiftType()); + } + } + return calendars; + } + + @Override + public List getCalendarByUser(Date day, Long userId) { + return null; + } + + +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalTeamshiftServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalTeamshiftServiceImpl.java new file mode 100644 index 0000000..2a6c61f --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/service/impl/CalTeamshiftServiceImpl.java @@ -0,0 +1,96 @@ +package com.ktg.mes.cal.service.impl; + +import java.util.List; +import com.ktg.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ktg.mes.cal.mapper.CalTeamshiftMapper; +import com.ktg.mes.cal.domain.CalTeamshift; +import com.ktg.mes.cal.service.ICalTeamshiftService; + +/** + * 班组排班Service业务层处理 + * + * @author yinjinlu + * @date 2022-06-11 + */ +@Service +public class CalTeamshiftServiceImpl implements ICalTeamshiftService +{ + @Autowired + private CalTeamshiftMapper calTeamshiftMapper; + + /** + * 查询班组排班 + * + * @param recordId 班组排班主键 + * @return 班组排班 + */ + @Override + public CalTeamshift selectCalTeamshiftByRecordId(Long recordId) + { + return calTeamshiftMapper.selectCalTeamshiftByRecordId(recordId); + } + + /** + * 查询班组排班列表 + * + * @param calTeamshift 班组排班 + * @return 班组排班 + */ + @Override + public List selectCalTeamshiftList(CalTeamshift calTeamshift) + { + return calTeamshiftMapper.selectCalTeamshiftList(calTeamshift); + } + + /** + * 新增班组排班 + * + * @param calTeamshift 班组排班 + * @return 结果 + */ + @Override + public int insertCalTeamshift(CalTeamshift calTeamshift) + { + calTeamshift.setCreateTime(DateUtils.getNowDate()); + return calTeamshiftMapper.insertCalTeamshift(calTeamshift); + } + + /** + * 修改班组排班 + * + * @param calTeamshift 班组排班 + * @return 结果 + */ + @Override + public int updateCalTeamshift(CalTeamshift calTeamshift) + { + calTeamshift.setUpdateTime(DateUtils.getNowDate()); + return calTeamshiftMapper.updateCalTeamshift(calTeamshift); + } + + /** + * 批量删除班组排班 + * + * @param recordIds 需要删除的班组排班主键 + * @return 结果 + */ + @Override + public int deleteCalTeamshiftByRecordIds(Long[] recordIds) + { + return calTeamshiftMapper.deleteCalTeamshiftByRecordIds(recordIds); + } + + /** + * 删除班组排班信息 + * + * @param recordId 班组排班主键 + * @return 结果 + */ + @Override + public int deleteCalTeamshiftByRecordId(Long recordId) + { + return calTeamshiftMapper.deleteCalTeamshiftByRecordId(recordId); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/cal/utils/CalendarUtil.java b/ktg-mes/src/main/java/com/ktg/mes/cal/utils/CalendarUtil.java new file mode 100644 index 0000000..1d4430c --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/cal/utils/CalendarUtil.java @@ -0,0 +1,87 @@ +package com.ktg.mes.cal.utils; + +import com.ktg.mes.cal.domain.CalCalendar; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.*; + +public class CalendarUtil { + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + + private static Date getMonthStart(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int index = calendar.get(Calendar.DAY_OF_MONTH); + calendar.add(Calendar.DATE, (1 - index)); + return calendar.getTime(); + } + + private static Date getMonthEnd(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.MONTH, 1); + int index = calendar.get(Calendar.DAY_OF_MONTH); + calendar.add(Calendar.DATE, (-index)); + return calendar.getTime(); + } + + private static Date getNext(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE, 1); + return calendar.getTime(); + } + + public static Long getDateDiff(Date start,Date end){ + LocalDate sdate = LocalDate.parse(sdf.format(start),formatter); + LocalDate edate = LocalDate.parse(sdf.format(end),formatter); + return edate.until(sdate,ChronoUnit.DAYS); + } + + public static Long getDateDiff(String start,Date end){ + LocalDate sdate = LocalDate.parse(start,formatter); + LocalDate edate = LocalDate.parse(sdf.format(end),formatter); + return edate.until(sdate,ChronoUnit.DAYS); + } + + public static Long getDateDiff(Date start,String end){ + LocalDate sdate = LocalDate.parse(sdf.format(start),formatter); + LocalDate edate = LocalDate.parse(sdf.format(end),formatter); + return edate.until(sdate,ChronoUnit.DAYS); + } + + /** + * 计算两个日期之间的天数差值 + * @param start + * @param end + * @return + */ + public static Long getDateDiff(String start,String end){ + LocalDate sdate = LocalDate.parse(start,formatter); + LocalDate edate = LocalDate.parse(end,formatter); + return edate.until(sdate,ChronoUnit.DAYS); + } + + /** + * 获取指定月份的所有日期 + * @param d + * @return + */ + public static List getDays(Date d){ + List lst=new ArrayList(); + Date date = getMonthStart(d); + Date monthEnd = getMonthEnd(d); + while (!date.after(monthEnd)) { + CalCalendar cal = new CalCalendar(); + cal.setTheDay(sdf.format(date)); + lst.add(cal); + date = getNext(date); + } + return lst; + } +} diff --git a/ktg-mes/src/main/resources/mapper/cal/CalPlanMapper.xml b/ktg-mes/src/main/resources/mapper/cal/CalPlanMapper.xml index 7f3968a..57985d2 100644 --- a/ktg-mes/src/main/resources/mapper/cal/CalPlanMapper.xml +++ b/ktg-mes/src/main/resources/mapper/cal/CalPlanMapper.xml @@ -14,6 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -26,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select plan_id, plan_code, plan_name,calendar_type, start_date, end_date, shift_type, shift_method, shift_count, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from cal_plan + select plan_id, plan_code, plan_name,calendar_type, start_date, end_date, shift_type, shift_method, shift_count,status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from cal_plan @@ -59,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" shift_type, shift_method, shift_count, + status, remark, attr1, attr2, @@ -78,6 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{shiftType}, #{shiftMethod}, #{shiftCount}, + #{status}, #{remark}, #{attr1}, #{attr2}, @@ -101,6 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" shift_type = #{shiftType}, shift_method = #{shiftMethod}, shift_count = #{shiftCount}, + status = #{status}, remark = #{remark}, attr1 = #{attr1}, attr2 = #{attr2}, diff --git a/ktg-mes/src/main/resources/mapper/cal/CalTeamshiftMapper.xml b/ktg-mes/src/main/resources/mapper/cal/CalTeamshiftMapper.xml new file mode 100644 index 0000000..22186e0 --- /dev/null +++ b/ktg-mes/src/main/resources/mapper/cal/CalTeamshiftMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select record_id, the_day, team_id, team_name, shift_id, shift_name, order_num, plan_id,calendar_type, shift_type, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from cal_teamshift + + + + + + + + insert into cal_teamshift + + the_day, + team_id, + team_name, + shift_id, + shift_name, + order_num, + plan_id, + calendar_type, + shift_type, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{theDay}, + #{teamId}, + #{teamName}, + #{shiftId}, + #{shiftName}, + #{orderNum}, + #{planId}, + #{calendarType}, + #{shiftType}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update cal_teamshift + + the_day = #{theDay}, + team_id = #{teamId}, + team_name = #{teamName}, + shift_id = #{shiftId}, + shift_name = #{shiftName}, + order_num = #{orderNum}, + plan_id = #{planId}, + calendar_type = #{calendarType}, + shift_type = #{shiftType}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where record_id = #{recordId} + + + + delete from cal_teamshift where record_id = #{recordId} + + + + delete from cal_teamshift where record_id in + + #{recordId} + + + \ No newline at end of file