@ -8,6 +8,8 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil ;
import cn.hutool.core.date.DateUtil ;
import com.github.pagehelper.PageInfo ;
import com.github.pagehelper.PageInfo ;
import com.shxy.xymanager_common.bean.ServiceBody ;
import com.shxy.xymanager_common.bean.ServiceBody ;
import com.shxy.xymanager_common.dto.ScheduleAndRuleDto ;
import com.shxy.xymanager_common.entity.TerminalSchedule ;
import com.shxy.xymanager_common.entity.TerminalScheduleMapper ;
import com.shxy.xymanager_common.entity.TerminalScheduleMapper ;
import com.shxy.xymanager_common.entity.TerminalScheduleRule ;
import com.shxy.xymanager_common.entity.TerminalScheduleRule ;
import com.shxy.xymanager_common.enums.CommonStatus ;
import com.shxy.xymanager_common.enums.CommonStatus ;
@ -18,14 +20,17 @@ import com.shxy.xymanager_common.model.TerminalScheduleRuleTimeListModel;
import com.shxy.xymanager_common.page.PageUtils ;
import com.shxy.xymanager_common.page.PageUtils ;
import com.shxy.xymanager_common.util.MyDateUtils ;
import com.shxy.xymanager_common.util.MyDateUtils ;
import com.shxy.xymanager_common.vo.* ;
import com.shxy.xymanager_common.vo.* ;
import com.shxy.xymanager_dao.dao.TerminalScheduleDao ;
import com.shxy.xymanager_dao.dao.TerminalScheduleMapperDao ;
import com.shxy.xymanager_dao.dao.TerminalScheduleMapperDao ;
import com.shxy.xymanager_dao.dao.TerminalScheduleRuleDao ;
import com.shxy.xymanager_dao.dao.TerminalScheduleRuleDao ;
import com.shxy.xymanager_service.service.TerminalScheduleRuleService ;
import com.shxy.xymanager_service.service.TerminalScheduleRuleService ;
import lombok.extern.slf4j.Slf4j ;
import lombok.extern.slf4j.Slf4j ;
import org.apache.ibatis.annotations.Param ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.stereotype.Service ;
import org.springframework.stereotype.Service ;
import org.springframework.transaction.annotation.Transactional ;
import org.springframework.transaction.annotation.Transactional ;
import javax.validation.constraints.NotBlank ;
import java.sql.Time ;
import java.sql.Time ;
import java.util.ArrayList ;
import java.util.ArrayList ;
import java.util.Date ;
import java.util.Date ;
@ -38,6 +43,9 @@ import java.util.List;
@Slf4j
@Slf4j
public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleService {
public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleService {
@Autowired
TerminalScheduleDao terminalScheduleDao ;
@Autowired
@Autowired
TerminalScheduleRuleDao terminalScheduleRuleDao ;
TerminalScheduleRuleDao terminalScheduleRuleDao ;
@ -55,12 +63,12 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
int pageindex = vo . getPageindex ( ) ;
int pageindex = vo . getPageindex ( ) ;
int pagesize = vo . getPagesize ( ) ;
int pagesize = vo . getPagesize ( ) ;
PageUtils . SetPage ( pageindex , pagesize ) ;
PageUtils . SetPage ( pageindex , pagesize ) ;
List < Terminal ScheduleRule> list = terminalSched uleR uleDao. selectAll ( CommonStatus . EFFECTIVE . value ( ) ) ;
List < ScheduleAnd RuleDto > list = terminalSched uleDao. selectAll ( CommonStatus . EFFECTIVE . value ( ) ) ;
boolean empty = CollectionUtil . isEmpty ( list ) ;
boolean empty = CollectionUtil . isEmpty ( list ) ;
if ( empty ) {
if ( empty ) {
model . setList ( new ArrayList < > ( ) ) ;
model . setList ( new ArrayList < > ( ) ) ;
} else {
} else {
List < TerminalScheduleRuleListModel . Schedule Rule Bean> beans = BeanUtil . copyToList ( list , TerminalScheduleRuleListModel . Sched uleR uleBean. class , CopyOptions . create ( ) . ignoreCase ( ) ) ;
List < TerminalScheduleRuleListModel . Schedule Bean> beans = BeanUtil . copyToList ( list , TerminalScheduleRuleListModel . Sched uleBean. class , CopyOptions . create ( ) . ignoreCase ( ) ) ;
model . setList ( beans ) ;
model . setList ( beans ) ;
}
}
PageInfo pageData = PageUtils . getPageData ( list ) ;
PageInfo pageData = PageUtils . getPageData ( list ) ;
@ -83,19 +91,13 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
* @return
* @return
* /
* /
@Override
@Override
public ServiceBody < TerminalScheduleRuleModel > getSingleScheduleRule ( TerminalR uleIdVo vo ) {
public ServiceBody < TerminalScheduleRuleModel > getSingleScheduleRule ( Sched uleIdVo vo ) {
TerminalScheduleRule item = terminalScheduleRuleDao . selectByPrimaryKey ( vo . getId ( ) ) ;
ScheduleAndRuleDto bean = terminalScheduleDao . selectSingle ( vo . getId ( ) , CommonStatus . EFFECTIVE . value ( ) ) ;
if ( BeanUtil . isEmpty ( item ) ) {
if ( BeanUtil . isEmpty ( bean ) ) {
return Asserts . error ( "没有该对象" ) ;
return Asserts . error ( "没有该对象" ) ;
} else {
} else {
TerminalScheduleRuleModel bean = new TerminalScheduleRuleModel ( ) ;
TerminalScheduleRuleModel model = BeanUtil . copyProperties ( bean , TerminalScheduleRuleModel . class ) ;
bean . setId ( item . getId ( ) ) ;
return Asserts . success ( model ) ;
bean . setName ( item . getName ( ) ) ;
bean . setStartTime ( item . getStartTime ( ) ) ;
bean . setEndTime ( item . getEndTime ( ) ) ;
bean . setSpan ( item . getSpan ( ) ) ;
bean . setRemark ( item . getRemark ( ) ) ;
return Asserts . success ( bean ) ;
}
}
}
}
@ -106,22 +108,32 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
* @return
* @return
* /
* /
@Override
@Override
public ServiceBody < String > addSchedulelRuleList ( TerminalRuleListVo vo ) {
@Transactional
ArrayList < TerminalScheduleRule > list = new ArrayList < > ( ) ;
public ServiceBody < String > addSchedulelRuleList ( ScheduleListVo vo ) {
for ( TerminalRuleVo item : vo . getList ( ) ) {
TerminalScheduleRule bean = new TerminalScheduleRule ( ) ;
bean . setName ( item . getName ( ) ) ;
bean . setStartTime ( item . getStartTime ( ) ) ;
bean . setEndTime ( item . getEndTime ( ) ) ;
bean . setSpan ( item . getSpan ( ) ) ;
bean . setRemark ( item . getRemark ( ) ) ;
bean . setStatus ( CommonStatus . EFFECTIVE . value ( ) ) ;
list . add ( bean ) ;
}
Date date = new Date ( ) ;
Date date = new Date ( ) ;
int i = terminalScheduleRuleDao . insertList ( list , CommonStatus . EFFECTIVE . value ( ) , date , date ) ;
TerminalSchedule terminalSchedule = new TerminalSchedule ( ) ;
if ( i ! = 0 ) {
terminalSchedule . setName ( vo . getName ( ) ) ;
return Asserts . success ( "录入成功" ) ;
terminalSchedule . setRemark ( vo . getRemark ( ) ) ;
terminalSchedule . setStatus ( CommonStatus . EFFECTIVE . value ( ) ) ;
terminalSchedule . setCreateTime ( date ) ;
terminalSchedule . setUpdateTime ( date ) ;
int i1 = terminalScheduleDao . insertSelective ( terminalSchedule ) ;
if ( i1 ! = 0 ) {
ArrayList < TerminalScheduleRule > list = new ArrayList < > ( ) ;
for ( ScheduleRuleVo item : vo . getList ( ) ) {
TerminalScheduleRule rule = new TerminalScheduleRule ( ) ;
rule . setScheduleId ( terminalSchedule . getId ( ) ) ;
rule . setStartTime ( item . getStartTime ( ) ) ;
rule . setEndTime ( item . getEndTime ( ) ) ;
rule . setSpan ( item . getSpan ( ) ) ;
list . add ( rule ) ;
}
int i = terminalScheduleRuleDao . insertList ( list , date , date ) ;
if ( i ! = 0 ) {
return Asserts . success ( "录入成功" ) ;
} else {
return Asserts . error ( "录入失败" ) ;
}
} else {
} else {
return Asserts . error ( "录入失败" ) ;
return Asserts . error ( "录入失败" ) ;
}
}
@ -134,16 +146,33 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
* @return
* @return
* /
* /
@Override
@Override
public ServiceBody < String > updateSchelduleRule ( TerminalRuleVo vo ) {
@Transactional
TerminalScheduleRule bean = new TerminalScheduleRule ( ) ;
public ServiceBody < String > updateSchelduleRule ( UpdateScheduleListVo vo ) {
bean . setId ( vo . getId ( ) ) ;
Integer scheduleid = vo . getId ( ) ;
bean . setName ( vo . getName ( ) ) ;
TerminalSchedule bean = terminalScheduleDao . selectByPrimaryKey ( vo . getId ( ) ) ;
bean . setStartTime ( vo . getStartTime ( ) ) ;
if ( BeanUtil . isEmpty ( bean ) ) {
bean . setEndTime ( vo . getEndTime ( ) ) ;
return Asserts . error ( "没有需要修改任务规则" ) ;
bean . setSpan ( vo . getSpan ( ) ) ;
}
bean . setRemark ( vo . getRemark ( ) ) ;
Date date = new Date ( ) ;
bean . setStatus ( CommonStatus . EFFECTIVE . value ( ) ) ;
int i = terminalScheduleRuleDao . updateByPrimaryKeySelective ( bean , new Date ( ) ) ;
TerminalSchedule schedule = new TerminalSchedule ( ) ;
schedule . setName ( vo . getName ( ) ) ;
schedule . setRemark ( vo . getRemark ( ) ) ;
schedule . setUpdateTime ( date ) ;
terminalScheduleDao . updateByPrimaryKeySelective ( schedule ) ;
terminalScheduleRuleDao . deleteById ( scheduleid ) ;
ArrayList < TerminalScheduleRule > list = new ArrayList < > ( ) ;
for ( ScheduleRuleVo item : vo . getList ( ) ) {
TerminalScheduleRule rule = new TerminalScheduleRule ( ) ;
rule . setScheduleId ( scheduleid ) ;
rule . setStartTime ( item . getStartTime ( ) ) ;
rule . setEndTime ( item . getEndTime ( ) ) ;
rule . setSpan ( item . getSpan ( ) ) ;
list . add ( rule ) ;
}
int i = terminalScheduleRuleDao . insertList ( list , date , date ) ;
if ( i ! = 0 ) {
if ( i ! = 0 ) {
return Asserts . success ( "修改成功" ) ;
return Asserts . success ( "修改成功" ) ;
} else {
} else {
@ -159,9 +188,9 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
* @return
* @return
* /
* /
@Override
@Override
public ServiceBody < String > deleteSchelduleRule ( TerminalR uleIdListVo vo ) {
public ServiceBody < String > deleteSchelduleRule ( Sched uleIdListVo vo ) {
List < TerminalSchedule Rule > list = BeanUtil . copyToList ( vo . getList ( ) , TerminalSched uleR ule. class ) ;
List < TerminalSchedule > list = BeanUtil . copyToList ( vo . getList ( ) , TerminalSched ule. class ) ;
int i = terminalSchedule RuleDao. delete ById( list , CommonStatus . DELETE . value ( ) , new Date ( ) ) ;
int i = terminalSchedule Dao. updateStatus ById( list , CommonStatus . DELETE . value ( ) , new Date ( ) ) ;
if ( i ! = 0 ) {
if ( i ! = 0 ) {
return Asserts . success ( "删除成功" ) ;
return Asserts . success ( "删除成功" ) ;
} else {
} else {
@ -181,7 +210,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
ArrayList < TerminalScheduleMapper > list = new ArrayList < > ( ) ;
ArrayList < TerminalScheduleMapper > list = new ArrayList < > ( ) ;
List < RelateTerminalListRuleIdVo . Item > termBeanList = vo . getList ( ) ;
List < RelateTerminalListRuleIdVo . Item > termBeanList = vo . getList ( ) ;
Integer ruleid = vo . getR uleid( ) ;
Integer scheduleid = vo . getSched uleid( ) ;
List < TerminalScheduleMapper > mappers = terminalScheduleMapperDao . selectByTerminalBean ( termBeanList ) ;
List < TerminalScheduleMapper > mappers = terminalScheduleMapperDao . selectByTerminalBean ( termBeanList ) ;
boolean empty = CollectionUtil . isEmpty ( mappers ) ;
boolean empty = CollectionUtil . isEmpty ( mappers ) ;
@ -192,7 +221,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
for ( Integer id : item . getChannelidlist ( ) ) {
for ( Integer id : item . getChannelidlist ( ) ) {
TerminalScheduleMapper record = new TerminalScheduleMapper ( ) ;
TerminalScheduleMapper record = new TerminalScheduleMapper ( ) ;
record . setChannelId ( id ) ;
record . setChannelId ( id ) ;
record . setScheduleId ( r uleid) ;
record . setScheduleId ( sched uleid) ;
record . setTermId ( item . getTermid ( ) ) ;
record . setTermId ( item . getTermid ( ) ) ;
list . add ( record ) ;
list . add ( record ) ;
}
}
@ -208,6 +237,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
/ * *
/ * *
* 获 取 通 道 的 规 则 时 间 表
* 获 取 通 道 的 规 则 时 间 表
*
* @param vo
* @param vo
* @return
* @return
* /
* /
@ -217,7 +247,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ
TerminalScheduleMapper mapper = terminalScheduleMapperDao . selectByChannelId ( vo . getChannelid ( ) , vo . getTerminalid ( ) ) ;
TerminalScheduleMapper mapper = terminalScheduleMapperDao . selectByChannelId ( vo . getChannelid ( ) , vo . getTerminalid ( ) ) ;
if ( mapper = = null ) {
if ( mapper = = null ) {
model . setList ( new ArrayList < > ( ) ) ;
model . setList ( new ArrayList < > ( ) ) ;
} else {
} else {
Integer scheduleId = mapper . getScheduleId ( ) ;
Integer scheduleId = mapper . getScheduleId ( ) ;
TerminalScheduleRule bean = terminalScheduleRuleDao . selectByPrimaryKey ( scheduleId ) ;
TerminalScheduleRule bean = terminalScheduleRuleDao . selectByPrimaryKey ( scheduleId ) ;
Time startTime = bean . getStartTime ( ) ;
Time startTime = bean . getStartTime ( ) ;