| | |
| | | */ |
| | | package com.java110.store.cmd.scheduleClasses; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.annotation.Java110Transactional; |
| | |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.scheduleClasses.ScheduleClassesDto; |
| | | import com.java110.dto.scheduleClassesDay.ScheduleClassesDayDto; |
| | | import com.java110.dto.scheduleClassesTime.ScheduleClassesTimeDto; |
| | | import com.java110.intf.store.IScheduleClassesDayV1InnerServiceSMO; |
| | | import com.java110.intf.store.IScheduleClassesTimeV1InnerServiceSMO; |
| | | import com.java110.intf.store.IScheduleClassesV1InnerServiceSMO; |
| | | import com.java110.po.scheduleClasses.ScheduleClassesPo; |
| | | import com.java110.po.scheduleClassesDay.ScheduleClassesDayPo; |
| | | import com.java110.po.scheduleClassesTime.ScheduleClassesTimePo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 类表述:更新 |
| | |
| | | @Java110Cmd(serviceCode = "scheduleClasses.updateScheduleClasses") |
| | | public class UpdateScheduleClassesCmd extends Cmd { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(UpdateScheduleClassesCmd.class); |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(UpdateScheduleClassesCmd.class); |
| | | |
| | | @Autowired |
| | | private IScheduleClassesV1InnerServiceSMO scheduleClassesV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IScheduleClassesDayV1InnerServiceSMO scheduleClassesDayV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IScheduleClassesTimeV1InnerServiceSMO scheduleClassesTimeV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "scheduleId", "scheduleId不能为空"); |
| | | Assert.hasKeyAndValue(reqJson, "scheduleId", "scheduleId不能为空"); |
| | | |
| | | Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name"); |
| | | Assert.hasKeyAndValue(reqJson, "scheduleType", "请求报文中未包含scheduleType"); |
| | | Assert.hasKeyAndValue(reqJson, "scheduleCycle", "请求报文中未包含scheduleCycle"); |
| | | if (!reqJson.containsKey("days")) { |
| | | throw new CmdException("未包含天"); |
| | | } |
| | | JSONArray days = reqJson.getJSONArray("days"); |
| | | if (days.size() < 1) { |
| | | throw new CmdException("未包含天"); |
| | | } |
| | | JSONObject day = null; |
| | | JSONArray times = null; |
| | | for (int dayIndex = 0; dayIndex < days.size(); dayIndex++) { |
| | | day = days.getJSONObject(dayIndex); |
| | | if (ScheduleClassesDayDto.WORKDAY_NO.equals(day.getString("workday"))) { |
| | | continue; |
| | | } |
| | | if (!day.containsKey("times")) { |
| | | throw new CmdException("未包时间"); |
| | | } |
| | | times = day.getJSONArray("times"); |
| | | if (times.size() < 1) { |
| | | throw new CmdException("未包时间"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Java110Transactional |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { |
| | | |
| | | ScheduleClassesPo scheduleClassesPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesPo.class); |
| | | ScheduleClassesDto scheduleClassesDto = new ScheduleClassesDto(); |
| | | scheduleClassesDto.setScheduleId(reqJson.getString("scheduleId")); |
| | | List<ScheduleClassesDto> scheduleClassesDtos = scheduleClassesV1InnerServiceSMOImpl.queryScheduleClassess(scheduleClassesDto); |
| | | Assert.listOnlyOne(scheduleClassesDtos, "查询排班信息错误!"); |
| | | ScheduleClassesPo scheduleClassesPo = BeanConvertUtil.covertBean(reqJson, ScheduleClassesPo.class); |
| | | int flag = scheduleClassesV1InnerServiceSMOImpl.updateScheduleClasses(scheduleClassesPo); |
| | | |
| | | if (flag < 1) { |
| | | throw new CmdException("更新数据失败"); |
| | | } |
| | | |
| | | ScheduleClassesDayDto scheduleClassesDayDto = new ScheduleClassesDayDto(); |
| | | scheduleClassesDayDto.setScheduleId(scheduleClassesDtos.get(0).getScheduleId()); |
| | | List<ScheduleClassesDayDto> scheduleClassesDayDtos = scheduleClassesDayV1InnerServiceSMOImpl.queryScheduleClassesDays(scheduleClassesDayDto); |
| | | if (scheduleClassesDayDtos != null && scheduleClassesDayDtos.size() > 0) { |
| | | ScheduleClassesDayPo scheduleClassesDayPo = new ScheduleClassesDayPo(); |
| | | scheduleClassesDayPo.setScheduleId(scheduleClassesPo.getScheduleId()); |
| | | flag = scheduleClassesDayV1InnerServiceSMOImpl.deleteScheduleClassesDay(scheduleClassesDayPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("更新数据失败"); |
| | | } |
| | | } |
| | | ScheduleClassesTimeDto scheduleClassesTimeDto = new ScheduleClassesTimeDto(); |
| | | scheduleClassesTimeDto.setScheduleId(scheduleClassesDtos.get(0).getScheduleId()); |
| | | //scheduleClassesTimeDto.setDayId(scheduleClassesDayDtos.get(0).getDayId()); |
| | | List<ScheduleClassesTimeDto> scheduleClassesTimeDtos = scheduleClassesTimeV1InnerServiceSMOImpl.queryScheduleClassesTimes(scheduleClassesTimeDto); |
| | | if (scheduleClassesTimeDtos != null && scheduleClassesTimeDtos.size() >0) { |
| | | ScheduleClassesTimePo scheduleClassesTimePo = new ScheduleClassesTimePo(); |
| | | scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId()); |
| | | flag = scheduleClassesTimeV1InnerServiceSMOImpl.deleteScheduleClassesTime(scheduleClassesTimePo); |
| | | if (flag < 1) { |
| | | throw new CmdException("更新数据失败"); |
| | | } |
| | | } |
| | | JSONArray days = reqJson.getJSONArray("days"); |
| | | JSONObject day = null; |
| | | JSONObject time = null; |
| | | JSONArray times = null; |
| | | for (int dayIndex = 0; dayIndex < days.size(); dayIndex++) { |
| | | day = days.getJSONObject(dayIndex); |
| | | ScheduleClassesDayPo scheduleClassesDayPo = new ScheduleClassesDayPo(); |
| | | scheduleClassesDayPo.setScheduleId(scheduleClassesPo.getScheduleId()); |
| | | scheduleClassesDayPo.setDayId(GenerateCodeFactory.getGeneratorId("11")); |
| | | scheduleClassesDayPo.setDay(day.getString("day")); |
| | | scheduleClassesDayPo.setScheduleId(scheduleClassesPo.getScheduleId()); |
| | | scheduleClassesDayPo.setWeekFlag(StringUtil.isEmpty(day.getString("weekFlag")) ? "1" : day.getString("weekFlag")); |
| | | scheduleClassesDayPo.setWorkday(day.getString("workday")); |
| | | flag = scheduleClassesDayV1InnerServiceSMOImpl.saveScheduleClassesDay(scheduleClassesDayPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | times = day.getJSONArray("times"); |
| | | for (int timeIndex = 0; timeIndex < times.size(); timeIndex++) { |
| | | time = times.getJSONObject(timeIndex); |
| | | ScheduleClassesTimePo scheduleClassesTimePo = new ScheduleClassesTimePo(); |
| | | scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId()); |
| | | scheduleClassesTimePo.setDayId(scheduleClassesDayPo.getDayId()); |
| | | scheduleClassesTimePo.setEndTime(time.getString("endTime")); |
| | | scheduleClassesTimePo.setScheduleId(scheduleClassesPo.getScheduleId()); |
| | | scheduleClassesTimePo.setStartTime(time.getString("startTime")); |
| | | scheduleClassesTimePo.setTimeId(GenerateCodeFactory.getGeneratorId("11")); |
| | | flag = scheduleClassesTimeV1InnerServiceSMOImpl.saveScheduleClassesTime(scheduleClassesTimePo); |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | } |
| | | } |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | } |
| | | } |