修改时间表查询bug

master
liuguijing 2 years ago
parent 66911541b4
commit a1aa674834

@ -13,7 +13,7 @@
<name>xymanager_admin</name>
<description>Demo project for Spring Boot</description>
<packaging>war</packaging>
<!-- <packaging>war</packaging>-->
<properties>
<java.version>1.8</java.version>
</properties>

@ -24,40 +24,40 @@ public class TerminalScheduleRuleListModel implements Serializable {
private int pagesize;
@ApiModelProperty(value = "时间任务列表", example = "[]")
private List<ScheduleBean> list;
@Data
public static class ScheduleBean {
@ApiModelProperty(value = "任务编号", example = "123456")
private Integer id;
@ApiModelProperty(value = "任务名称", example = "123456")
private String name;
@ApiModelProperty(value = "备注", example = "erwsafsasa")
private String remark;
@ApiModelProperty(value = "时间任务详情列表", example = "erwsafsasa")
private List<ScheduleDetailsBean> list;
}
@Data
public static class ScheduleDetailsBean {
@ApiModelProperty(value = "任务详情编号", example = "123456")
private Integer id;
@ApiModelProperty(value = "任务规则编号", example = "123456")
private Integer scheduleId;
@ApiModelProperty(value = "间隔", example = "213")
private Integer span;
@ApiModelProperty(value = "开始时间", example = "2022-06-08")
private Time startTime;
@ApiModelProperty(value = "结束时间", example = "2022-06-08")
private Time endTime;
}
private List<TerminalScheduleRuleModel> list;
// @Data
// public static class ScheduleBean {
//
// @ApiModelProperty(value = "任务编号", example = "123456")
// private Integer id;
//
// @ApiModelProperty(value = "任务名称", example = "123456")
// private String name;
//
// @ApiModelProperty(value = "备注", example = "erwsafsasa")
// private String remark;
//
// @ApiModelProperty(value = "时间任务详情列表", example = "erwsafsasa")
// private List<ScheduleDetailsBean> list;
//
// }
// @Data
// public static class ScheduleDetailsBean {
// @ApiModelProperty(value = "任务详情编号", example = "123456")
// private Integer id;
//
// @ApiModelProperty(value = "任务规则编号", example = "123456")
// private Integer scheduleId;
//
// @ApiModelProperty(value = "间隔", example = "213")
// private Integer span;
//
// @ApiModelProperty(value = "开始时间", example = "2022-06-08")
// private Time startTime;
//
// @ApiModelProperty(value = "结束时间", example = "2022-06-08")
// private Time endTime;
// }
}

@ -64,63 +64,105 @@ public class ScheduleListUtils {
public static String relateTime(List<ScheduleDetailsDto> dtoList, int offset) {
StringBuffer timestr = new StringBuffer();
short perset = dtoList.get(0).getPreset().shortValue();
int index = 0;
for (int i = 0; i < dtoList.size(); i++) {
short startHour = 0;
short startMin= 0;
short endHour= 0;
short endMin= 0;
short spanHour= 0;
short spanMin= 0;
if (XyNumberUtils.remainder(i, 3) == 1) {
short startMin = 0;
short endHour = 0;
short endMin = 0;
short spanHour = 0;
short spanMin = 0;
String string = "";
if (XyNumberUtils.remainder(i, 3) == 0) {
index = index + 3;
startHour = dtoList.get(i).getHour().shortValue();
startMin = dtoList.get(i).getMinute().shortValue();
} else if (XyNumberUtils.remainder(i, 3) == 2) {
string = " --hour" + index + "=" + startHour + " --min" + index + "=" + startMin + " --preset" + index + "=" + perset;
} else if (XyNumberUtils.remainder(i, 3) == 1) {
index = index - 1;
endHour = dtoList.get(i).getHour().shortValue();
endMin = dtoList.get(i).getMinute().shortValue();
} else if (XyNumberUtils.remainder(i, 3) == 0) {
string = " --hour" + index + "=" + endHour + " --min" + index + "=" + endMin + " --preset" + index + "=" + perset;
} else if (XyNumberUtils.remainder(i, 3) == 2) {
index = index - 1;
spanHour = dtoList.get(i).getHour().shortValue();
spanMin = dtoList.get(i).getMinute().shortValue();
string = " --hour" + index + "=" + spanHour + " --min" + index + "=" + spanMin + " --preset" + index + "=" + perset;
index = index + 2;
}
int spanindex = i+1;
int endindex = i+2;
int startindex = i+3;
String string = " --hour" + startindex + "=" + startHour + "\t" + "--min" + startindex + "=" + startMin + "\t" + "--preset" + startindex + "=" + perset + " --hour" + endindex + "=" + endHour + "\t" + "--min" + endindex + "=" + endMin + "\t"
+ "--preset" + endindex + "=" + perset +"--hour" + spanindex + "=" + spanHour + "\t" + "--min" + spanindex + "=" + spanMin + "\t" + "--preset" + spanindex + "=" + perset ;
timestr.append(string);
}
return timestr.toString();
}
// /**
// * 将数据库标准转为前端的时间列表
// *
// * @param details
// * @return
// */
// public static ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> getScheduleRuleBeans(List<ScheduleDetailsDto> details) {
// ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = new ArrayList<>();
// for (int i = 0; i < details.size(); i++) {
// TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
// if (XyNumberUtils.remainder(i, 3) == 0) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setStartTime(time);
// } else if (XyNumberUtils.remainder(i, 3) == 1) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Time time = MyDateUtils.HHMMToTime(hour, minute);
// scheduleDetailsBean.setEndTime(time);
// } else if (XyNumberUtils.remainder(i, 3) == 2) {
// Integer hour = details.get(i).getHour();
// Integer minute = details.get(i).getMinute();
// Number mul = XyNumberUtils.mul((Number) hour, 60);
// Number add = XyNumberUtils.add(mul, minute);
// scheduleDetailsBean.setSpan(add.intValue());
// }
// detailsBeans.add(scheduleDetailsBean);
// }
// return detailsBeans;
// }
/**
*
*
*
* @param details
* @return
*/
public static ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> getScheduleRuleBeans(List<ScheduleDetailsDto> details) {
public static ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> getScheduleDetailsBeans(List<ScheduleDetailsDto> details) {
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = new ArrayList<>();
TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
for (int i = 0; i < details.size(); i++) {
TerminalScheduleRuleModel.ScheduleRuleBean scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
if (XyNumberUtils.remainder(i, 3) == 1) {
Integer hour = details.get(i).getHour();
Integer minute = details.get(i).getMinute();
ScheduleDetailsDto dto = details.get(i);
if (XyNumberUtils.remainder(i, 3) == 0) {
scheduleDetailsBean = new TerminalScheduleRuleModel.ScheduleRuleBean();
Integer hour = dto.getHour();
Integer minute = dto.getMinute();
Time time = MyDateUtils.HHMMToTime(hour, minute);
scheduleDetailsBean.setId(dto.getId());
scheduleDetailsBean.setScheduleId(dto.getScheduleId());
scheduleDetailsBean.setStartTime(time);
} else if (XyNumberUtils.remainder(i, 3) == 2) {
Integer hour = details.get(i).getHour();
Integer minute = details.get(i).getMinute();
} else if (XyNumberUtils.remainder(i, 3) == 1) {
Integer hour = dto.getHour();
Integer minute = dto.getMinute();
Time time = MyDateUtils.HHMMToTime(hour, minute);
scheduleDetailsBean.setEndTime(time);
} else if (XyNumberUtils.remainder(i, 3) == 0) {
Integer hour = details.get(i).getHour();
Integer minute = details.get(i).getMinute();
} else if (XyNumberUtils.remainder(i, 3) == 2) {
Integer hour = dto.getHour();
Integer minute = dto.getMinute();
Number mul = XyNumberUtils.mul((Number) hour, 60);
Number add = XyNumberUtils.add(mul, minute);
scheduleDetailsBean.setSpan(add.intValue());
detailsBeans.add(scheduleDetailsBean);
}
detailsBeans.add(scheduleDetailsBean);
}
return detailsBeans;
}
}

@ -9,7 +9,12 @@ import java.util.List;
public interface SchedulesDao {
List<ScheduleAndRuleDto> selectAll(@Param("status") Integer status);
List<Schedules> selectAll(@Param("status") Integer status);
List<ScheduleAndRuleDto> selectScheduleAndDetailsList(@Param("list") List<Schedules> list, @Param("status") Integer status);
ScheduleAndRuleDto selectSingleScheduleAndDetailsList(@Param("id") Integer id, @Param("status") Integer status);
ScheduleAndRuleDto selectSingle(@Param("id") Integer id, @Param("status") Integer status);

@ -34,7 +34,6 @@
where status = #{status}
</select>
<select id="selectAllBySceduleidList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>

@ -34,7 +34,14 @@
where id = #{id,jdbcType=INTEGER}
</select>
<select id="selectAll" resultMap="ScheduleAndRule">
<select id="selectAll" resultMap="BaseResultMap">
select
id ,name,remark,status
from schedules
where status = #{status} order by create_time desc
</select>
<select id="selectScheduleAndDetailsList" resultMap="ScheduleAndRule">
select
x.id as id,
x.name as name,
@ -47,12 +54,36 @@
y.preset as preset
from schedules x,
schedule_detailss y
where y.schedule_id = x.id and x.status = #{status} order by x.create_time desc
where y.schedule_id = x.id and x.status = #{status}
<if test="list != null and list.size > 0">
and y.schedule_id in
<foreach collection="list" item="item" index="index" separator="," open="(" close=")">
#{item.id}
</foreach>
</if>
order by x.create_time desc
</select>
<select id="selectSingleScheduleAndDetailsList" resultMap="ScheduleAndRule">
select
x.id as id,
x.name as name,
x.remark as remark,
x.status as status,
y.id as ruleid,
y.schedule_id as schedule_id,
y.hour as hour,
y.minute as minute,
y.preset as preset
from schedules x,
schedule_detailss y
where y.schedule_id = x.id and x.status = #{status} and y.schedule_id = #{id}
order by x.create_time desc
</select>
<select id="selectSingle" resultMap="ScheduleAndRule">
select
x.id as id,
x.id as id,
x.name as name,
x.remark as remark,
x.status as status,

@ -46,7 +46,6 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
@Autowired
SchedulesDao schedulesDao;
@Autowired
ScheduleDetailssDao scheduleDetailssDao;
@ -83,40 +82,20 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
int pageindex = vo.getPageindex();
int pagesize = vo.getPagesize();
PageUtils.SetPage(pageindex, pagesize);
List<ScheduleAndRuleDto> list = schedulesDao.selectAll(CommonStatus.EFFECTIVE.value());
List<Schedules> schedules = schedulesDao.selectAll(CommonStatus.EFFECTIVE.value());
List<ScheduleAndRuleDto> list = schedulesDao.selectScheduleAndDetailsList(schedules, CommonStatus.EFFECTIVE.value());
boolean empty = CollectionUtil.isEmpty(list);
if (empty) {
model.setList(new ArrayList<>());
} else {
ArrayList<TerminalScheduleRuleListModel.ScheduleBean> beans = new ArrayList<>();
ArrayList<TerminalScheduleRuleModel> beans = new ArrayList<>();
for (ScheduleAndRuleDto item : list) {
TerminalScheduleRuleListModel.ScheduleBean scheduleBean = new TerminalScheduleRuleListModel.ScheduleBean();
TerminalScheduleRuleModel scheduleBean = new TerminalScheduleRuleModel();
scheduleBean.setId(item.getId());
scheduleBean.setName(item.getName());
scheduleBean.setRemark(item.getRemark());
List<ScheduleDetailsDto> details = item.getList();
ArrayList<TerminalScheduleRuleListModel.ScheduleDetailsBean> detailsBeans = new ArrayList<>();
for (int i = 0; i < details.size(); i++) {
TerminalScheduleRuleListModel.ScheduleDetailsBean scheduleDetailsBean = new TerminalScheduleRuleListModel.ScheduleDetailsBean();
if (XyNumberUtils.remainder(i, 3) == 1) {
Integer hour = details.get(i).getHour();
Integer minute = details.get(i).getMinute();
Time time = MyDateUtils.HHMMToTime(hour, minute);
scheduleDetailsBean.setStartTime(time);
} else if (XyNumberUtils.remainder(i, 3) == 2) {
Integer hour = details.get(i).getHour();
Integer minute = details.get(i).getMinute();
Time time = MyDateUtils.HHMMToTime(hour, minute);
scheduleDetailsBean.setEndTime(time);
} else if (XyNumberUtils.remainder(i, 3) == 0) {
Integer hour = details.get(i).getHour();
Integer minute = details.get(i).getMinute();
Number mul = XyNumberUtils.mul((Number) hour, 60);
Number add = XyNumberUtils.add(mul, minute);
scheduleDetailsBean.setSpan(add.intValue());
}
detailsBeans.add(scheduleDetailsBean);
}
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = ScheduleListUtils.getScheduleDetailsBeans(details);
scheduleBean.setList(detailsBeans);
beans.add(scheduleBean);
}
@ -135,6 +114,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
return Asserts.success(model);
}
/**
*
*
@ -143,22 +123,22 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
*/
@Override
public ServiceBody<TerminalScheduleRuleModel> getSingleScheduleRule(ScheduleIdVo vo) {
ScheduleAndRuleDto bean = schedulesDao.selectSingle(vo.getId(), CommonStatus.EFFECTIVE.value());
if (BeanUtil.isEmpty(bean)) {
ScheduleAndRuleDto dto = schedulesDao.selectSingleScheduleAndDetailsList(vo.getId(), CommonStatus.EFFECTIVE.value());
if (BeanUtil.isEmpty(dto)) {
return Asserts.error("没有该对象");
} else {
TerminalScheduleRuleModel model = new TerminalScheduleRuleModel();
model.setId(bean.getId());
model.setName(bean.getName());
model.setRemark(bean.getRemark());
List<ScheduleDetailsDto> details = bean.getList();
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = ScheduleListUtils.getScheduleRuleBeans(details);
model.setId(dto.getId());
model.setName(dto.getName());
model.setRemark(dto.getRemark());
List<ScheduleDetailsDto> details = dto.getList();
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = ScheduleListUtils.getScheduleDetailsBeans(details);
model.setList(detailsBeans);
return Asserts.success(model);
}
}
/**
*
*
@ -177,7 +157,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
schedules.setUpdateTime(date);
int i1 = schedulesDao.insertSelective(schedules);
if (i1 != 0) {
ArrayList<ScheduleDetailss> list = ScheduleListUtils.getScheduleDetailsses(vo.getList(),schedules.getId());
ArrayList<ScheduleDetailss> list = ScheduleListUtils.getScheduleDetailsses(vo.getList(), schedules.getId());
int i = scheduleDetailssDao.insertList(list, date, date);
if (i != 0) {
return Asserts.success("录入成功");
@ -258,7 +238,8 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
if (CollectionUtil.isEmpty(terminalsList)) {
return Asserts.error("没有该装置");
}
ScheduleAndRuleDto dto = schedulesDao.selectSingle(scheduleid, CommonStatus.EFFECTIVE.value());
ScheduleAndRuleDto dto = schedulesDao.selectSingleScheduleAndDetailsList(scheduleid, CommonStatus.EFFECTIVE.value());
if (BeanUtil.isEmpty(dto)) {
return Asserts.error("没有该拍照时间规则");
}
@ -305,8 +286,6 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
}
/**
*
*
@ -378,10 +357,10 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
model.setList(new ArrayList<>());
} else {
Integer scheduleId = mapper.getScheduleId();
ScheduleAndRuleDto bean = schedulesDao.selectSingle(scheduleId, CommonStatus.EFFECTIVE.value());
ScheduleAndRuleDto bean = schedulesDao.selectSingleScheduleAndDetailsList(scheduleId, CommonStatus.EFFECTIVE.value());
List<ScheduleDetailsDto> list = bean.getList();
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = ScheduleListUtils.getScheduleRuleBeans(list);
ArrayList<TerminalScheduleRuleModel.ScheduleRuleBean> detailsBeans = ScheduleListUtils.getScheduleDetailsBeans(list);
ArrayList<String> timestrlist = new ArrayList<>();
for (TerminalScheduleRuleModel.ScheduleRuleBean item : detailsBeans) {
Time startTime = item.getStartTime();
@ -444,7 +423,6 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
resultList.add(dateTime);
}
}
model.setList(resultList);
model.setIsNew(true);

Loading…
Cancel
Save