1589 lines
65 KiB
Objective-C
1589 lines
65 KiB
Objective-C
//
|
||
// Xuanduo2SettingController.m
|
||
// Ifish
|
||
//
|
||
// Created by Alex on 2019/4/28.
|
||
// Copyright © 2019 lianlian. All rights reserved.
|
||
//
|
||
|
||
#import "Xuanduo2SettingController.h"
|
||
#import "UINavigationBar+Background.h"
|
||
#import "TemperatureSetCell.h"
|
||
#import "ChangeWaterCell.h"
|
||
#import "Xuanduo2Model.h"
|
||
#import "TemperatureSetModel.h"
|
||
#import "setWaringTpModel.h"
|
||
#import "remindCyclePic.h"
|
||
#import "MyPickerView.h"
|
||
#import "PlusTableViewCell.h"
|
||
#import "SetTimerCell.h"
|
||
#import "XuanduoSectionHeaderView.h"
|
||
#import "XuanduoSelectHeader.h"
|
||
#import "MydatePickerView.h"
|
||
#import "SetTimerModel.h"
|
||
#import "ReadTimerModel.h"
|
||
#import "Xuanduo2DataUtility.h"
|
||
#import "Xuanduo2TimerModel.h"
|
||
#import "IfishDeviceInfo.h"
|
||
#import "NSString+Add.h"
|
||
|
||
#define kBtnTag 500
|
||
#define kSwitchBtnTag 600
|
||
static NSString *temperatureCellid = @"TemperatureSetCell";
|
||
static NSString *changeWaterCellid = @"ChangeWaterCell";
|
||
static NSString *addCellid = @"PlusTableViewCell";
|
||
static NSString *plusflag = @"plusCell";
|
||
static NSString *setTimerflag = @"SetTimerCell";
|
||
|
||
|
||
@interface Xuanduo2SettingController ()<IfishCommuniteDelegate>
|
||
@property(nonatomic,strong) setRemindWaterModel *waterInfmodel;
|
||
@property(nonatomic,strong) Xuanduo2TimerModel *timerModel;
|
||
@property(nonatomic,strong) XuanduoCycleModel *cycleModel;
|
||
|
||
@property (nonatomic,strong) NSMutableDictionary *timeDic;
|
||
@property(nonatomic,copy) NSString *nextChangeDateLabel;
|
||
@property(nonatomic,strong) MyHud *XuTohud;
|
||
|
||
@end
|
||
|
||
@implementation Xuanduo2SettingController
|
||
{
|
||
NSString *_wenduString;
|
||
NSIndexPath *_indexPath;
|
||
MyPickerView *_mypicView;
|
||
NSArray *_titieArr;
|
||
NSArray *_imgArr;
|
||
remindCyclePic*_remindPic;
|
||
BOOL _huanShuiSwitchIsOn;
|
||
NSInteger _selectSection;
|
||
MydatePickerView*_mydatepicView;
|
||
|
||
}
|
||
|
||
- (void)viewWillAppear:(BOOL)animated {
|
||
[super viewWillAppear:animated];
|
||
if (_currentdevice) {
|
||
[IFISHHTTPTOOL getRemindWaterInfWith:_currentdevice.deviceId huishuiInfo:^(setRemindWaterModel *remindModel) {
|
||
|
||
self.waterInfmodel=remindModel;
|
||
|
||
NSUserDefaults*defuat=[NSUserDefaults standardUserDefaults];
|
||
|
||
[defuat setInteger:self.waterInfmodel.remindcycle forKey:@"xuto2picResult"];
|
||
[defuat synchronize];
|
||
self.nextChangeDateLabel=self.waterInfmodel.remindDate;
|
||
|
||
[self.tableView reloadData];
|
||
}];
|
||
}
|
||
}
|
||
|
||
- (void)viewDidLoad {
|
||
[super viewDidLoad];
|
||
[self setup];
|
||
[self connect];
|
||
}
|
||
|
||
- (void)viewWillDisappear:(BOOL)animated{
|
||
[_indicatorView stopAnimating];
|
||
}
|
||
|
||
- (void)setup {
|
||
[self.navigationController.navigationBar resetBackgroundImage];
|
||
|
||
NSString*title=@"水族箱设置";
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO2F]) {
|
||
title = @"水族箱设置";
|
||
}
|
||
else if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
title = @"宠物笼设置";
|
||
}
|
||
|
||
[self addTitleViewWithTitle:title];
|
||
[self refreshWithData:self.dataModel];
|
||
[self setupTable];
|
||
[self creatIndicatorView];
|
||
[Socketsingleton sharedInstance].communiteDelegate = self;
|
||
}
|
||
|
||
- (void)refreshWithData:(Xuanduo3fModel*)model {
|
||
|
||
NSString*low = model.miniTemp;
|
||
NSString*heigh = model.maxTemp;
|
||
UInt64 lowten = [dataContorl hexToTen:low];
|
||
UInt64 heighten = [dataContorl hexToTen:heigh];
|
||
float formatlow = lowten/10;
|
||
float formatheigh = heighten/10;
|
||
_wenduString = [NSString stringWithFormat:@"%.0f~%.0f°C",formatlow,formatheigh];
|
||
}
|
||
|
||
- (void)setupTable {
|
||
_titieArr = @[@"循环泵",@"增氧泵",@"灯光1",@"灯光2",@"造浪泵",@"杀菌灯"];
|
||
_imgArr = @[@"xunhuan_big",@"gas_big",@"light_big",@"light_big",@"wave_big",@"shajun_big"];
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
_titieArr = @[@"照明",@"换气",@"杀菌"];
|
||
_imgArr = @[@"照明开",@"换气开",@"杀菌开"];
|
||
}
|
||
|
||
|
||
|
||
_selectSection = -1;
|
||
for (int i = 0; i<_titieArr.count; i++) {
|
||
NSMutableArray *dataArr = [NSMutableArray arrayWithCapacity:0];
|
||
if (![_titieArr[i] isEqualToString:@"杀菌"])
|
||
{
|
||
[dataArr addObject:plusflag];
|
||
}
|
||
|
||
[self.timeDic setObject:dataArr forKey:_titieArr[i]];
|
||
}
|
||
self.tableView.backgroundColor=COLOR_MIAN;
|
||
self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone;
|
||
[self.tableView registerNib:[UINib nibWithNibName:temperatureCellid bundle:nil] forCellReuseIdentifier:temperatureCellid];
|
||
[self.tableView registerNib:[UINib nibWithNibName:changeWaterCellid bundle:nil] forCellReuseIdentifier:changeWaterCellid];
|
||
[self.tableView registerNib:[UINib nibWithNibName:addCellid bundle:nil] forCellReuseIdentifier:addCellid];
|
||
[self.tableView registerNib:[UINib nibWithNibName:setTimerflag bundle:nil] forCellReuseIdentifier:setTimerflag];
|
||
}
|
||
|
||
#pragma mark - Table view data source
|
||
|
||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||
return 2 + self.timeDic.allKeys.count+([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]?1:0);
|
||
}
|
||
|
||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||
if (section == 0) {
|
||
return 1;
|
||
}else if (section == 1){
|
||
return 2;
|
||
}
|
||
if (section - 2 < _titieArr.count) {
|
||
NSArray *dataArr = [self.timeDic objectForKey:_titieArr[section-2]];
|
||
return dataArr.count;
|
||
}
|
||
else
|
||
{
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
return 1;
|
||
}
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||
if (indexPath.section == 0){
|
||
TemperatureSetCell *cell = [tableView dequeueReusableCellWithIdentifier:temperatureCellid];
|
||
TemperatureSetModel *model=[[TemperatureSetModel alloc]init];
|
||
model.title = @"预警设置";
|
||
cell.titleLabel.text = model.title;
|
||
NSLog(@"wendu str = %@",_wenduString);
|
||
model.temperatureLabel = _wenduString;
|
||
cell.temperaturelabel.text = model.temperatureLabel;
|
||
[cell.temPSwitch addTarget:self action:@selector(xuTotempSwitchAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
if (self.dataModel) {
|
||
Xuanduo2Model*model=self.dataModel;
|
||
if ([model.alarmSwitch isEqualToString:@"01"]) {
|
||
|
||
[cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal];
|
||
cell.temPSwitch.selected = NO;
|
||
|
||
}else{
|
||
|
||
[cell.temPSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal];
|
||
|
||
cell.temPSwitch.selected = YES;
|
||
}
|
||
|
||
}
|
||
|
||
return cell;
|
||
}else if(indexPath.section == 1 && indexPath.row == 0){
|
||
if (![self.currentdevice.waterRemind isEqual:[NSNull null]]) {
|
||
ChangeWaterCell *cell = [tableView dequeueReusableCellWithIdentifier:changeWaterCellid];
|
||
[cell.ChangeWaterSwitch addTarget:self action:@selector(xuTochangeWaterSwitch:) forControlEvents:UIControlEventTouchUpInside];
|
||
|
||
if ([self.waterInfmodel.waterremind isEqualToString:@"1"]) {
|
||
[cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"greenbtn_big"] forState:UIControlStateNormal];
|
||
cell.ChangeWaterSwitch.selected = NO;
|
||
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"firstSetCell"]];
|
||
_huanShuiSwitchIsOn=YES;
|
||
}else{
|
||
[cell.ChangeWaterSwitch setBackgroundImage:[UIImage imageNamed:@"graybtn_big"] forState:UIControlStateNormal];
|
||
cell.ChangeWaterSwitch.selected = YES;
|
||
_huanShuiSwitchIsOn=NO;
|
||
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"set_cellBack"]];
|
||
}
|
||
|
||
if (self.waterInfmodel.remindcycle == 0) {
|
||
//在未获取换水信息时暂时显示
|
||
cell.huanshuiDaylabel.text=@"换水时间";
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
cell.huanshuiDaylabel.text=@"杀菌时间";
|
||
cell.titleLabel.text=@"杀菌提醒";
|
||
}
|
||
}else{
|
||
|
||
cell.huanshuiDaylabel.text=[NSString stringWithFormat:@"%ld天",(long)self.waterInfmodel.remindcycle];
|
||
|
||
}
|
||
|
||
|
||
return cell;
|
||
|
||
}
|
||
}else if (indexPath.section==1 && indexPath.row == 1){
|
||
|
||
static NSString*nextHuanShuiLablecellId=@"labelcell";
|
||
UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:nextHuanShuiLablecellId];
|
||
if (cell==nil) {
|
||
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nextHuanShuiLablecellId];
|
||
}
|
||
if (_huanShuiSwitchIsOn) {
|
||
|
||
cell.textLabel.text=[NSString stringWithFormat:@"下次换水时间:%@",self.waterInfmodel.remindDate];
|
||
if (!self.waterInfmodel.remindDate) {
|
||
cell.textLabel.text=[NSString stringWithFormat:@"下次换水时间:%@",self.nextChangeDateLabel];
|
||
}
|
||
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
cell.textLabel.text=[NSString stringWithFormat:@"下次杀菌时间:%@",self.waterInfmodel.remindDate];
|
||
if (!self.waterInfmodel.remindDate) {
|
||
cell.textLabel.text=[NSString stringWithFormat:@"下次杀菌时间:%@",self.nextChangeDateLabel];
|
||
}
|
||
|
||
}
|
||
|
||
cell.textLabel.font=[UIFont systemFontOfSize:15];
|
||
[cell.textLabel sizeToFit];
|
||
|
||
cell.textLabel.textColor =[UIColor colorWithRed:146.0/256.0 green:146.0/256.0 blue:146.0/256.0 alpha:1];
|
||
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"secondSetCell"]];
|
||
|
||
}
|
||
else{
|
||
cell.textLabel.text=@"";
|
||
}
|
||
cell.userInteractionEnabled = NO;
|
||
return cell;
|
||
|
||
}else if(indexPath.section -2== _titieArr.count && indexPath.row == 0&&[self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]){
|
||
TemperatureSetCell *cell = [tableView dequeueReusableCellWithIdentifier:temperatureCellid];
|
||
TemperatureSetModel *model=[[TemperatureSetModel alloc]init];
|
||
model.title = @"恒温设置";
|
||
cell.titleLabel.text = model.title;
|
||
|
||
Xuanduo3fModel*xmodel=(Xuanduo3fModel*)_dataModel;
|
||
NSString*heating = xmodel.heatingTemperature;
|
||
UInt64 heat = [dataContorl hexToTen:heating];
|
||
|
||
float formatheat = heat/10;
|
||
model.temperatureLabel = [NSString stringWithFormat:@"%f",formatheat];
|
||
cell.temPSwitch.hidden=YES;
|
||
cell.temperaturelabel.frame=cell.temPSwitch.frame;
|
||
|
||
Xuanduo3fModel*model3=self.dataModel;
|
||
int mac=[dataContorl hexToTen:model3.heatingTemperature];
|
||
|
||
//float TPlabel=mac/10+(mac%10)*0.1;
|
||
float temp = mac/10.0;
|
||
NSString *stringTemp = [NSString stringWithFormat:@"%.1f℃",temp];
|
||
cell.temperaturelabel.textAlignment=NSTextAlignmentRight;
|
||
[cell.temperaturelabel setAttributedText:[NSString ls_changeFontAndColor:[UIFont systemFontOfSize:15] Color:nil TotalString:stringTemp SubStringArray:@[@"℃"]]];
|
||
|
||
|
||
|
||
|
||
return cell;
|
||
|
||
}
|
||
else {
|
||
if (indexPath.section - 2 < _titieArr.count && _selectSection == indexPath.section) {
|
||
NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section-2]];
|
||
BOOL havePlus = [dataArr containsObject:plusflag];
|
||
if (havePlus && (indexPath.row == dataArr.count-1)) {
|
||
PlusTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:addCellid forIndexPath:indexPath];
|
||
cell.addTimerBtn.tag = kBtnTag + indexPath.section;
|
||
[cell.addTimerBtn addTarget:self action:@selector(addTimer:) forControlEvents:UIControlEventTouchUpInside];
|
||
return cell;
|
||
}else {
|
||
SetTimerCell *cell = [tableView dequeueReusableCellWithIdentifier:setTimerflag forIndexPath:indexPath];
|
||
cell.switchBtn.tag = kSwitchBtnTag + indexPath.row;
|
||
[cell.switchBtn addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
XuanduoTimerGroup *group = [dataArr objectAtIndex:havePlus?indexPath.row+1:indexPath.row];
|
||
cell.model=group;
|
||
if ([group isKindOfClass:[XuanduoTimerGroup class]])
|
||
{
|
||
BOOL isOn = NO;
|
||
if ([group.status isEqualToString:@"01"]) {
|
||
isOn = YES;
|
||
}
|
||
[cell configTitleLabel:[NSString stringWithFormat:@"时段%@",group.groupNumber] timer:group.time switchStatus:isOn];
|
||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||
|
||
}
|
||
else if([group isKindOfClass:[XuanduoCycleModel class]])
|
||
{
|
||
XuanduoCycleModel*model=group;
|
||
BOOL isOn = NO;
|
||
if ([model.status isEqualToString:@"00"]) {
|
||
isOn = YES;
|
||
}
|
||
|
||
|
||
|
||
[cell configTitleLabel:@"循环开关" timer:[NSString stringWithFormat:@"持续时长%d分钟",[dataContorl hexToTen:model.lastTime]] switchStatus:isOn];
|
||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||
|
||
}
|
||
return cell;
|
||
}
|
||
}
|
||
}
|
||
return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@""];
|
||
}
|
||
|
||
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||
if (indexPath.section == 0) {
|
||
return 50;
|
||
}else if (indexPath.section == 1 && indexPath.row == 0){
|
||
return 50;
|
||
}else if (indexPath.section == 1 && indexPath.row == 1){
|
||
if (!_huanShuiSwitchIsOn) {
|
||
}else {
|
||
return 50;
|
||
}
|
||
}else if (indexPath.section - 2 <_titieArr.count) {
|
||
NSArray *dataArr = [self.timeDic objectForKey:_titieArr[indexPath.section-2]];
|
||
BOOL havePlus = [dataArr containsObject:plusflag];
|
||
if (_selectSection == indexPath.section) {
|
||
if (havePlus && indexPath.row == dataArr.count - 1) {
|
||
return 80;
|
||
}else{
|
||
return 50;
|
||
}
|
||
}else {
|
||
return 0;
|
||
}
|
||
}
|
||
else if(indexPath.section - 2 ==_titieArr.count&&[self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
return 50;
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
#pragma mark tableView 头视图和脚视图
|
||
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
|
||
if (section == 0) {
|
||
return 5;
|
||
}else if (section == 2){
|
||
return 40;
|
||
}else if (section == 3){
|
||
return 40;
|
||
}else if (section == 4){
|
||
return 40;
|
||
}else if (section == 5){
|
||
|
||
return [self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]?0:40;
|
||
}else if (section == 6){
|
||
return 40;
|
||
}else if (section == 7){
|
||
return 40;
|
||
}else {
|
||
return CGFLOAT_MIN;
|
||
}
|
||
|
||
}
|
||
|
||
- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
|
||
if (section == 0) {
|
||
UIView *oneHeader = [[UIView alloc] init];
|
||
oneHeader.backgroundColor = COLOR_MIAN;
|
||
return oneHeader;
|
||
}else if(section == 2){
|
||
XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView];
|
||
headerView.controlBtn.tag = kBtnTag + section;
|
||
if (_selectSection == section) {
|
||
headerView.controlBtn.selected = YES;
|
||
}
|
||
[headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
[headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]];
|
||
return headerView;
|
||
}else if(section == 3){
|
||
XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView];
|
||
headerView.controlBtn.tag = kBtnTag + section;
|
||
if (_selectSection == section) {
|
||
headerView.controlBtn.selected = YES;
|
||
}
|
||
[headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
[headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]];
|
||
return headerView;
|
||
}else if(section == 4){
|
||
XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView];
|
||
headerView.controlBtn.tag = kBtnTag + section;
|
||
if (_selectSection == section) {
|
||
headerView.controlBtn.selected = YES;
|
||
}
|
||
[headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
[headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]];
|
||
return headerView;
|
||
}else if(section == 5){
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
UIView *oneHeader = [[UIView alloc] init];
|
||
oneHeader.backgroundColor = COLOR_MIAN;
|
||
return oneHeader;
|
||
}
|
||
else
|
||
{
|
||
XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView];
|
||
headerView.controlBtn.tag = kBtnTag + section;
|
||
if (_selectSection == section) {
|
||
headerView.controlBtn.selected = YES;
|
||
}
|
||
[headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
[headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]];
|
||
return headerView;
|
||
}
|
||
|
||
}else if(section == 6){
|
||
XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView];
|
||
headerView.controlBtn.tag = kBtnTag + section;
|
||
if (_selectSection == section) {
|
||
headerView.controlBtn.selected = YES;
|
||
}
|
||
[headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
[headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]];
|
||
return headerView;
|
||
}else if(section == 7){
|
||
XuanduoSelectHeader *headerView = [XuanduoSelectHeader shareHeaderView];
|
||
headerView.controlBtn.tag = kBtnTag + section;
|
||
if (_selectSection == section) {
|
||
headerView.controlBtn.selected = YES;
|
||
}
|
||
[headerView.controlBtn addTarget:self action:@selector(foldAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
[headerView configWithImageName:_imgArr[section-2] labelName:_titieArr[section-2]];
|
||
return headerView;
|
||
}
|
||
|
||
return nil;
|
||
}
|
||
|
||
#pragma mark tableView 点击事件
|
||
|
||
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
||
_indexPath = indexPath;
|
||
if (indexPath.section==0) {
|
||
_mypicView=[[MyPickerView alloc]init];
|
||
|
||
_mypicView.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height);
|
||
[self.view.window addSubview:_mypicView];
|
||
[_mypicView.sureButton addTarget:self action:@selector(mypicViewRemoveByDone) forControlEvents:UIControlEventTouchUpInside];
|
||
[self temperatureMainQueue];
|
||
|
||
}else if (indexPath.section==1){
|
||
//换水提醒日期选择
|
||
_remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:self.currentdevice.type];
|
||
|
||
_remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height);
|
||
_remindPic.type=self.currentdevice.type;
|
||
[self.view.window addSubview:_remindPic];
|
||
[_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside];
|
||
[self huanShuiMainQueue];
|
||
}else if(indexPath.section-2==_titieArr.count){
|
||
//恒温设置
|
||
_remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:@"temp"];
|
||
_remindPic.type=@"temp";
|
||
|
||
_remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height);
|
||
[self.view.window addSubview:_remindPic];
|
||
[_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside];
|
||
[self huanShuiMainQueue];
|
||
}else {
|
||
SetTimerCell *cell = [self.tableView cellForRowAtIndexPath:_indexPath];
|
||
if ([cell isKindOfClass:[PlusTableViewCell class]]) {
|
||
return;
|
||
}
|
||
else if([cell isKindOfClass:[SetTimerCell class]]&&[cell.model isKindOfClass:[XuanduoCycleModel class]])
|
||
{
|
||
//恒温设置
|
||
_cycleModel=cell.model;
|
||
_remindPic=[[remindCyclePic alloc]initWithFrame:CGRectMake(0, 0, kScreenSize.width, kScreenSize.height) type:@"cycle"];
|
||
_remindPic.type=@"cycle";
|
||
|
||
_remindPic.frame=CGRectMake(0, 0, kScreenSize.width, kScreenSize.height);
|
||
[self.view.window addSubview:_remindPic];
|
||
[_remindPic.sureBtn addTarget:self action:@selector(xuToremindCyclePicDone) forControlEvents:UIControlEventTouchUpInside];
|
||
[self huanShuiMainQueue];
|
||
}
|
||
else
|
||
{
|
||
[self addTimer:nil];
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
-(void)temperatureMainQueue{
|
||
NSArray*lowArr=[_mypicView.picArr objectAtIndex:0];
|
||
NSArray*heighArr=[_mypicView.picArr objectAtIndex:2];
|
||
for (NSInteger i=0; i<lowArr.count; i++) {
|
||
NSString*tempretureString1=[_wenduString substringWithRange:NSMakeRange(0, _wenduString.length-2)];
|
||
|
||
NSRange range=[tempretureString1 rangeOfString:@"~"];
|
||
NSString*start=[tempretureString1 substringToIndex:range.location];
|
||
|
||
|
||
NSString*startpicString=lowArr[i];
|
||
|
||
if ([startpicString isEqualToString:start ] ) {
|
||
|
||
[_mypicView.picView selectRow:i inComponent:0 animated:NO];
|
||
_mypicView.lowindex=i;
|
||
|
||
}
|
||
}
|
||
for (NSInteger j=0; j<heighArr.count; j++) {
|
||
NSString*tempretureString1= [_wenduString substringWithRange:NSMakeRange(0, _wenduString.length-2)];
|
||
NSRange range=[tempretureString1 rangeOfString:@"~"];
|
||
NSString*start=[tempretureString1 substringFromIndex:range.location+1];
|
||
|
||
NSString*startpicString=heighArr[j];
|
||
|
||
if ([startpicString isEqualToString:start ] ) {
|
||
|
||
[_mypicView.picView selectRow:j inComponent:2 animated:NO];
|
||
_mypicView.heighindex=j;
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
#pragma mark - cell的折叠
|
||
- (void)foldAction:(UIButton *)btn {
|
||
if (_selectSection == btn.tag - kBtnTag) {
|
||
_selectSection = -1;
|
||
[self.tableView reloadData];
|
||
}else {
|
||
_selectSection = btn.tag - kBtnTag;
|
||
ReadTimerModel *readModel = [[ReadTimerModel alloc] init];
|
||
//杀菌不定时
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F]&&(_selectSection - 2)==2)
|
||
{
|
||
readModel.functionCode=@"19";//读取
|
||
}
|
||
else
|
||
{
|
||
readModel.functionCode=@"16";
|
||
}
|
||
readModel.sendmacId =self.currentdevice.macAddress;
|
||
readModel.resavemacId = self.currentdevice.macAddress;
|
||
readModel.crc16str=@"0000";
|
||
switch (_selectSection - 2) {
|
||
case 0: //循环泵 或 照明
|
||
readModel.selectorNumber = @"04";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
readModel.selectorNumber=@"01";
|
||
}
|
||
break;
|
||
case 1: //增氧
|
||
readModel.selectorNumber = @"01";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
readModel.selectorNumber=@"02";
|
||
}
|
||
break;
|
||
case 2: //灯光1
|
||
readModel.selectorNumber = @"02";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
readModel.selectorNumber=@"03";
|
||
}
|
||
break;
|
||
case 3: //灯光2
|
||
readModel.selectorNumber = @"03";
|
||
break;
|
||
case 4: //造浪泵
|
||
readModel.selectorNumber = @"06";
|
||
break;
|
||
case 5: // 杀菌灯
|
||
readModel.selectorNumber = @"05";
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
NSString*readString=[NSString stringWithFormat:@"%@%@%@",readModel.description,readModel.selectorNumber,readModel.crc16str];
|
||
NSData*readData=[dataContorl stringToHexData:readString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:readData];
|
||
[_indicatorView startAnimating];
|
||
}
|
||
}
|
||
|
||
- (void)switchAction:(UIButton *)btn {
|
||
NSInteger index = btn.tag - kSwitchBtnTag;
|
||
|
||
NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]];
|
||
BOOL havePlus = [dataArr containsObject:plusflag];
|
||
SetTimerModel *timerModel = [[SetTimerModel alloc] init];
|
||
timerModel.sendmacId =self.currentdevice.macAddress;
|
||
timerModel.resavemacId = self.currentdevice.macAddress;
|
||
timerModel.crc16str=@"0000";
|
||
XuanduoTimerGroup *group = [dataArr objectAtIndex:(havePlus?index+1:index)];
|
||
if ([group isKindOfClass: [XuanduoTimerGroup class] ]) {
|
||
NSString*hexDateString1=[dataContorl dateStringToHexString:group.startTime];
|
||
NSString*hexDateString2=[dataContorl dateStringToHexString:group.endTime];
|
||
timerModel.selectorTime=[NSString stringWithFormat:@"%@%@",hexDateString1,hexDateString2];
|
||
timerModel.groupNumber = [dataContorl groupNumberTohex:group.groupNumber.integerValue];
|
||
if ([group.status isEqualToString:@"01"]) {
|
||
timerModel.isOn = @"00";
|
||
}else {
|
||
timerModel.isOn = @"01";
|
||
}
|
||
|
||
ReadTimerModel *readModel = [[ReadTimerModel alloc] init];
|
||
readModel.sendmacId =self.currentdevice.macAddress;
|
||
readModel.resavemacId = self.currentdevice.macAddress;
|
||
readModel.crc16str=@"0000";
|
||
switch (_selectSection - 2) {
|
||
case 0: //循环泵
|
||
{
|
||
timerModel.selectorNumber = @"04";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"01";
|
||
}
|
||
}
|
||
break;
|
||
case 1: //增氧
|
||
{
|
||
timerModel.selectorNumber = @"01";
|
||
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"02";
|
||
}
|
||
|
||
}
|
||
break;
|
||
case 2: //灯光1
|
||
{
|
||
timerModel.selectorNumber = @"02";
|
||
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"03";
|
||
}
|
||
|
||
}
|
||
break;
|
||
case 3: //灯光2
|
||
{
|
||
timerModel.selectorNumber = @"03";
|
||
}
|
||
break;
|
||
case 4: //造浪泵
|
||
{
|
||
timerModel.selectorNumber = @"06";
|
||
}
|
||
break;
|
||
case 5: //杀菌灯
|
||
{
|
||
timerModel.selectorNumber = @"05";
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
NSString*selectorString=[NSString stringWithFormat:@"%@%@%@%@%@%@",timerModel.description,timerModel.selectorNumber,timerModel.groupNumber,timerModel.isOn,timerModel.selectorTime,timerModel.crc16str];
|
||
|
||
NSData*selctorData=[dataContorl stringToHexData:selectorString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:selctorData];
|
||
// [_indicatorView startAnimating];
|
||
|
||
readModel.selectorNumber = timerModel.selectorNumber;
|
||
NSString*readString=[NSString stringWithFormat:@"%@%@%@",readModel.description,readModel.selectorNumber,readModel.crc16str];
|
||
NSLog(@"read str = %@",readString);
|
||
NSData*readData=[dataContorl stringToHexData:readString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:readData];
|
||
;
|
||
}
|
||
else if ([group isKindOfClass: [XuanduoCycleModel class] ])
|
||
{
|
||
baseModel*tempModel=[[baseModel alloc]init];
|
||
tempModel.sendmacId =self.currentdevice.macAddress;
|
||
tempModel.resavemacId =self.currentdevice.macAddress;
|
||
tempModel.functionCode=@"18";
|
||
tempModel.massagelegth=@"17";
|
||
|
||
|
||
|
||
if ([_cycleModel.status isEqualToString:@"01"]) {
|
||
_cycleModel.status = @"00";
|
||
}else {
|
||
_cycleModel.status = @"01";
|
||
}
|
||
|
||
|
||
NSString*minString=[NSString stringWithFormat:@"%@%@%@%@%@%@",tempModel.description,_cycleModel.lightNumber,_cycleModel.lastTime,_cycleModel.gapTime,_cycleModel.status,@"0000"];
|
||
|
||
NSData*tempData=[dataContorl stringToHexData:minString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:tempData];
|
||
|
||
|
||
|
||
baseModel*readModel=[[baseModel alloc]init];
|
||
readModel.sendmacId =self.currentdevice.macAddress;
|
||
readModel.resavemacId =self.currentdevice.macAddress;
|
||
readModel.functionCode=@"19";
|
||
readModel.massagelegth=@"12";
|
||
|
||
NSString*readString=[NSString stringWithFormat:@"%@%@%@%@%@%@",readModel.description,_cycleModel.lightNumber,@"0000"];
|
||
|
||
NSData*readData=[dataContorl stringToHexData:readString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:readData];
|
||
}
|
||
|
||
}
|
||
|
||
- (void)addTimer:(UIButton *)btn {
|
||
_mydatepicView=[[MydatePickerView alloc]init];
|
||
_mydatepicView.isNewXuanduo = YES;
|
||
_mydatepicView.frame=CGRectMake(0,0,kScreenSize.width,kScreenSize.height);
|
||
[_mydatepicView.sureButton addTarget:self action:@selector(doneButtonClick) forControlEvents:UIControlEventTouchUpInside];
|
||
[_mydatepicView.cancleButton addTarget:self action:@selector(deleteButtonClick) forControlEvents:UIControlEventTouchUpInside];
|
||
if (!btn) {
|
||
_mydatepicView.haveDelected = YES;
|
||
[self resetPickerView];
|
||
}
|
||
// 设置pickerView 默认选择行
|
||
|
||
[self.view.window addSubview:_mydatepicView];
|
||
}
|
||
|
||
- (void)resetPickerView {
|
||
NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]];
|
||
BOOL havePlus = [dataArr containsObject:plusflag];
|
||
XuanduoTimerGroup *model = nil;
|
||
if (havePlus) {
|
||
model = dataArr[_indexPath.row + 1];
|
||
}else {
|
||
model = dataArr[_indexPath.row];
|
||
}
|
||
NSArray *startArr = [model.startTime componentsSeparatedByString:@":"];
|
||
NSArray *endArr = [model.endTime componentsSeparatedByString:@":"];
|
||
NSLog(@"stat %@ end %@",startArr,endArr);
|
||
if (startArr.count == 2 && endArr.count == 2) {
|
||
NSInteger row1 = [[_mydatepicView.dataArr objectAtIndex:0] indexOfObject:startArr[0]];
|
||
[_mydatepicView.picView selectRow:row1 inComponent:0 animated:NO];
|
||
NSInteger row2 = [[_mydatepicView.dataArr objectAtIndex:1] indexOfObject:startArr[1]];
|
||
[_mydatepicView.picView selectRow:row2 inComponent:1 animated:NO];
|
||
NSInteger row3 = [[_mydatepicView.dataArr objectAtIndex:2] indexOfObject:endArr[0]];
|
||
[_mydatepicView.picView selectRow:row3 inComponent:2 animated:NO];
|
||
NSInteger row4 = [[_mydatepicView.dataArr objectAtIndex:3] indexOfObject:endArr[1]];
|
||
[_mydatepicView.picView selectRow:row4 inComponent:3 animated:NO];
|
||
|
||
_mydatepicView.startString = startArr[0];
|
||
_mydatepicView.endString = startArr[1];
|
||
_mydatepicView.startString1 = endArr[0];
|
||
_mydatepicView.endString1 = endArr[1];
|
||
|
||
}
|
||
}
|
||
|
||
#pragma mark -- 设置时间段 --
|
||
-(void)doneButtonClick{
|
||
NSLog(@"点击了加号");
|
||
// 需要判断之前的时间段是否重叠
|
||
NSString *startTime = [NSString stringWithFormat:@"%@:%@",_mydatepicView.startString,_mydatepicView.endString];
|
||
NSString *endTime = [NSString stringWithFormat:@"%@:%@",_mydatepicView.startString1,_mydatepicView.endString1];
|
||
_mydatepicView.resultString=nil;
|
||
if([startTime isEqualToString:endTime]){
|
||
[self showTitle:@"" messsage:@"开始时间不能等于结束时间"];
|
||
return;
|
||
}else if (![self isValidTimer:startTime withEndTime:endTime] && !_mydatepicView.haveDelected){
|
||
[self showTitle:@"" messsage:@"添加的时间段与之前的重叠"];
|
||
return;
|
||
}else{
|
||
_mydatepicView.resultString=[NSString stringWithFormat:@"%@~%@",startTime,endTime];
|
||
|
||
NSString*hexDateString1=[dataContorl dateStringToHexString:startTime];
|
||
NSString*hexDateString2=[dataContorl dateStringToHexString:endTime];
|
||
SetTimerModel *timerModel = [[SetTimerModel alloc] init];
|
||
timerModel.sendmacId =self.currentdevice.macAddress;
|
||
timerModel.resavemacId = self.currentdevice.macAddress;
|
||
timerModel.crc16str=@"0000";
|
||
timerModel.isOn = @"01";
|
||
timerModel.selectorTime=[NSString stringWithFormat:@"%@%@",hexDateString1,hexDateString2];
|
||
[_mydatepicView removeFromSuperview];
|
||
|
||
|
||
ReadTimerModel *readModel = [[ReadTimerModel alloc] init];
|
||
readModel.sendmacId =self.currentdevice.macAddress;
|
||
readModel.resavemacId = self.currentdevice.macAddress;
|
||
readModel.crc16str=@"0000";
|
||
NSInteger index = _selectSection - 2;
|
||
if (index < _titieArr.count) {
|
||
NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[index]];
|
||
NSInteger groupNumber = 1;
|
||
for (int i = 0 ; i < dataArr.count; i++) {
|
||
if ([dataArr[i] isKindOfClass:[XuanduoTimerGroup class]] &&
|
||
((XuanduoTimerGroup *)dataArr[i]).groupNumber.integerValue == groupNumber) {
|
||
groupNumber++;
|
||
}
|
||
}
|
||
NSLog(@"indexgroup = %d",groupNumber);
|
||
timerModel.groupNumber = [dataContorl groupNumberTohex:groupNumber];
|
||
XuanduoTimerGroup *group;
|
||
BOOL havePlus = NO;
|
||
if (_mydatepicView.haveDelected) {
|
||
havePlus = [dataArr containsObject:plusflag];
|
||
group = [dataArr objectAtIndex:havePlus?(_indexPath.row+1):_indexPath.row];
|
||
timerModel.groupNumber = [dataContorl groupNumberTohex:group.groupNumber.integerValue];;
|
||
NSLog(@"realgroup = %ld",group.groupNumber.integerValue);
|
||
timerModel.isOn = group.status;
|
||
[dataArr removeObject:group];
|
||
if (![self isValidTimer:startTime withEndTime:endTime]) {
|
||
[self showTitle:@"" messsage:@"添加的时间段与之前的重叠"];
|
||
[dataArr insertObject:group atIndex:havePlus?(_indexPath.row+1):_indexPath.row];
|
||
return;
|
||
}else {
|
||
[dataArr insertObject:group atIndex:havePlus?(_indexPath.row+1):_indexPath.row];
|
||
}
|
||
}
|
||
|
||
switch (index) {
|
||
case 0: //循环泵
|
||
{
|
||
timerModel.selectorNumber = @"04";
|
||
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"01";
|
||
}
|
||
|
||
}
|
||
break;
|
||
case 1: //增氧
|
||
{
|
||
timerModel.selectorNumber = @"01";
|
||
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"02";
|
||
}
|
||
|
||
}
|
||
break;
|
||
case 2: //灯光1
|
||
{
|
||
timerModel.selectorNumber = @"02";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"03";
|
||
}
|
||
}
|
||
break;
|
||
case 3: //灯光2
|
||
{
|
||
timerModel.selectorNumber = @"03";
|
||
}
|
||
break;
|
||
case 4: //造浪泵
|
||
{
|
||
timerModel.selectorNumber = @"06";
|
||
}
|
||
break;
|
||
case 5: //杀菌灯
|
||
{
|
||
timerModel.selectorNumber = @"05";
|
||
}
|
||
break;
|
||
|
||
default:
|
||
break;
|
||
}
|
||
NSString*selectorString=[NSString stringWithFormat:@"%@%@%@%@%@%@",timerModel.description,timerModel.selectorNumber,timerModel.groupNumber,timerModel.isOn,timerModel.selectorTime,timerModel.crc16str];
|
||
|
||
NSData*selctorData=[dataContorl stringToHexData:selectorString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:selctorData];
|
||
[_indicatorView startAnimating];
|
||
NSLog(@"hexString%@",selectorString);
|
||
NSLog(@"result%@",_mydatepicView.resultString);
|
||
|
||
readModel.selectorNumber = timerModel.selectorNumber;
|
||
NSString*readString=[NSString stringWithFormat:@"%@%@%@",readModel.description,readModel.selectorNumber,readModel.crc16str];
|
||
NSData*readData=[dataContorl stringToHexData:readString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:readData];
|
||
[_indicatorView startAnimating];
|
||
}
|
||
}
|
||
}
|
||
|
||
/// 删除时间段
|
||
- (void)deleteButtonClick{
|
||
NSString*hexDateString1=[dataContorl dateStringToHexString:@"00:00"];
|
||
NSString*hexDateString2=[dataContorl dateStringToHexString:@"00:00"];
|
||
SetTimerModel *timerModel = [[SetTimerModel alloc] init];
|
||
timerModel.sendmacId =self.currentdevice.macAddress;
|
||
timerModel.resavemacId = self.currentdevice.macAddress;
|
||
timerModel.crc16str=@"0000";
|
||
timerModel.isOn = @"00";
|
||
timerModel.selectorTime=[NSString stringWithFormat:@"%@%@",hexDateString1,hexDateString2];
|
||
[_mydatepicView removeFromSuperview];
|
||
|
||
|
||
ReadTimerModel *readModel = [[ReadTimerModel alloc] init];
|
||
readModel.sendmacId =self.currentdevice.macAddress;
|
||
readModel.resavemacId = self.currentdevice.macAddress;
|
||
readModel.crc16str=@"0000";
|
||
NSInteger index = _selectSection - 2;
|
||
NSLog(@"index = %d",index);
|
||
if (index < _titieArr.count) {
|
||
NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]];
|
||
BOOL havePlus = [dataArr containsObject:plusflag];
|
||
XuanduoTimerGroup *group = [dataArr objectAtIndex:(havePlus?_indexPath.row+1:_indexPath.row)];
|
||
timerModel.groupNumber = [dataContorl groupNumberTohex:group.groupNumber.integerValue];
|
||
switch (index) {
|
||
case 0: //循环泵
|
||
{
|
||
timerModel.selectorNumber = @"04";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"01";
|
||
}
|
||
}
|
||
break;
|
||
case 1: //增氧
|
||
{
|
||
timerModel.selectorNumber = @"01";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"02";
|
||
}
|
||
}
|
||
break;
|
||
case 2: //灯光1
|
||
{
|
||
timerModel.selectorNumber = @"02";
|
||
if([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
timerModel.selectorNumber=@"03";
|
||
}
|
||
}
|
||
break;
|
||
case 3: //灯光2
|
||
{
|
||
timerModel.selectorNumber = @"03";
|
||
}
|
||
break;
|
||
case 4: //造浪泵
|
||
{
|
||
timerModel.selectorNumber = @"06";
|
||
}
|
||
break;
|
||
case 5: //杀菌灯
|
||
{
|
||
timerModel.selectorNumber = @"05";
|
||
}
|
||
break;
|
||
|
||
default:
|
||
break;
|
||
}
|
||
NSString*selectorString=[NSString stringWithFormat:@"%@%@%@%@%@%@",timerModel.description,timerModel.selectorNumber,timerModel.groupNumber,timerModel.isOn,timerModel.selectorTime,timerModel.crc16str];
|
||
|
||
NSData*selctorData=[dataContorl stringToHexData:selectorString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:selctorData];
|
||
[_indicatorView startAnimating];
|
||
NSLog(@"delete hexString = %@",selectorString);
|
||
NSLog(@"result%@",_mydatepicView.resultString);
|
||
|
||
readModel.selectorNumber = timerModel.selectorNumber;
|
||
NSString*readString=[NSString stringWithFormat:@"%@%@%@",readModel.description,readModel.selectorNumber,readModel.crc16str];
|
||
NSData*readData=[dataContorl stringToHexData:readString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:readData];
|
||
[_indicatorView startAnimating];
|
||
}
|
||
}
|
||
|
||
/// 时间重叠则添加无效
|
||
- (BOOL)isValidTimer:(NSString *)startTime withEndTime:(NSString *)endTime{
|
||
__block BOOL isValid = YES;
|
||
NSString *addEndtime = endTime;
|
||
if ([startTime compare:endTime] == NSOrderedDescending) { //开始时间小于结束时间 跨天
|
||
NSInteger endHour = [addEndtime substringToIndex:2].integerValue;
|
||
NSString *endHourStr = [NSString stringWithFormat:@"%ld",endHour + 24];
|
||
addEndtime = [NSString stringWithFormat:@"%@:%@",endHourStr,[addEndtime substringFromIndex:3]];
|
||
}
|
||
NSArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]];
|
||
[dataArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||
if ([obj isKindOfClass:[XuanduoTimerGroup class]]) {
|
||
XuanduoTimerGroup *group = obj;
|
||
NSString *compareEndTime = group.endTime;
|
||
if (group.isCrossDay) {
|
||
NSInteger hour = [compareEndTime substringToIndex:2].integerValue;
|
||
NSString *hourStr = [NSString stringWithFormat:@"%ld",hour + 24];
|
||
compareEndTime = [NSString stringWithFormat:@"%@:%@",hourStr,[compareEndTime substringFromIndex:3]];
|
||
NSLog(@"跨天 compareendstr = %@",compareEndTime);
|
||
if ([group.startTime compare:startTime] == NSOrderedSame && [compareEndTime compare:addEndtime] == NSOrderedSame) {
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"跨天1 compareendstr = %@",compareEndTime);
|
||
}else if (([startTime compare:group.startTime] == NSOrderedAscending || [startTime compare:group.startTime] == NSOrderedSame)&& ([addEndtime compare:group.startTime] == NSOrderedDescending || [addEndtime compare:group.startTime] == NSOrderedSame)) {
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"跨天2 compareendstr = %@",compareEndTime);
|
||
}else if (([startTime compare:group.startTime] == NSOrderedDescending || [startTime compare:group.startTime] == NSOrderedSame)&& ([addEndtime compare:compareEndTime] == NSOrderedAscending|| [addEndtime compare:compareEndTime] == NSOrderedSame)){
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"跨天3 compareendstr = %@",compareEndTime);
|
||
}else if ([startTime compare:group.endTime] == NSOrderedSame){
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"跨天4 compareendstr = %@",compareEndTime);
|
||
}else if (([startTime compare:group.startTime] == NSOrderedDescending || [startTime compare:group.startTime] == NSOrderedSame) && [startTime compare:compareEndTime] == NSOrderedAscending ){
|
||
isValid = NO;
|
||
* stop = YES;
|
||
}
|
||
}else {
|
||
NSLog(@"group.start=%@ group.end=%@ start=%@ end=%@",group.startTime,group.endTime,startTime,endTime);
|
||
if ([group.startTime compare:startTime] == NSOrderedSame && [compareEndTime compare:addEndtime] == NSOrderedSame) {
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"不跨天1 compareendstr = %@",compareEndTime);
|
||
}else if (([startTime compare:group.startTime] == NSOrderedAscending || [startTime compare:group.startTime] == NSOrderedSame)&& ([addEndtime compare:group.startTime] == NSOrderedDescending || [addEndtime compare:group.startTime] == NSOrderedSame)) {
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"不跨天2 compareendstr = %@",compareEndTime);
|
||
}else if(([startTime compare:group.startTime] == NSOrderedDescending || [startTime compare:group.startTime] == NSOrderedSame)&& ([addEndtime compare:compareEndTime] == NSOrderedAscending|| [addEndtime compare:compareEndTime] == NSOrderedSame)){
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"不跨天3 compareendstr = %@",compareEndTime);
|
||
}else if ([startTime compare:group.endTime] == NSOrderedSame){
|
||
isValid = NO;
|
||
* stop = YES;
|
||
NSLog(@"不跨天4 compareendstr = %@",compareEndTime);
|
||
}else if (([startTime compare:group.startTime] == NSOrderedDescending || [startTime compare:group.startTime] == NSOrderedSame) && [startTime compare:compareEndTime] == NSOrderedAscending ){
|
||
isValid = NO;
|
||
* stop = YES;
|
||
}
|
||
}
|
||
}
|
||
}];
|
||
return isValid;
|
||
}
|
||
|
||
#pragma mark 温度设置
|
||
-(void)mypicViewRemoveByDone{
|
||
|
||
if (_mypicView.picViewResultString==nil) {
|
||
[_mypicView removeFromSuperview];
|
||
|
||
}else{
|
||
if (_indexPath.section==0) {
|
||
TemperatureSetCell*cell=[self.tableView cellForRowAtIndexPath:_indexPath];
|
||
cell.temperaturelabel.text=[NSString stringWithFormat:@"%@°C",_mypicView.picViewResultString];
|
||
}
|
||
BackmassegeModel*backmodel=[[DataCenter defaultDtacenter]valueForKey:@"DeviceBackInfo"];
|
||
// 低温
|
||
setWaringTpModel*warModel1=[[setWaringTpModel alloc]init];
|
||
warModel1.sendmacId =self.currentdevice.macAddress;
|
||
warModel1.resavemacId =self.currentdevice.macAddress;
|
||
|
||
warModel1.crc16Ing=@"0000";
|
||
warModel1.kaiguan=@"02";//设置
|
||
NSString*maxminTpString=warModel1.description;
|
||
|
||
NSRange range=[_mypicView.picViewResultString rangeOfString:@"~"];
|
||
NSString*lowString=[_mypicView.picViewResultString substringToIndex:range.location];
|
||
|
||
int intlowString = [lowString intValue];
|
||
int newIntlowString=intlowString*10;
|
||
warModel1.miniwaterTp=[dataContorl tpIntStringToFourHex:newIntlowString]; // 转四位16进制
|
||
//写入数据
|
||
backmodel.miniTp=warModel1.miniwaterTp;
|
||
|
||
// 高温
|
||
setWaringTpModel*warModel2=[[setWaringTpModel alloc]init];
|
||
warModel2.sendmacId =self.currentdevice.macAddress;
|
||
warModel2.resavemacId =self.currentdevice.macAddress;
|
||
warModel2.crc16Ing=@"0000";
|
||
warModel2.kaiguan=@"02";//设置
|
||
NSString*heighString=[_mypicView.picViewResultString substringFromIndex:range.location+1];
|
||
int intString = [heighString intValue];
|
||
int newIntString=intString*10;
|
||
|
||
warModel2.maxwaterTp=[dataContorl tpIntStringToFourHex:newIntString];
|
||
|
||
if ([lowString intValue]<[heighString intValue]) {
|
||
|
||
backmodel.miniTp=warModel1.miniwaterTp;
|
||
NSString*minString=[NSString stringWithFormat:@"%@%@%@%@%@",maxminTpString,warModel1.kaiguan,warModel1.miniwaterTp,warModel2.maxwaterTp,warModel1.crc16Ing];
|
||
NSLog(@"minstring = %@",minString);
|
||
NSData*minwenDuData=[dataContorl stringToHexData:minString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:minwenDuData];
|
||
|
||
backmodel.maxTp=warModel2.maxwaterTp;
|
||
|
||
[_indicatorView startAnimating];
|
||
[_mypicView removeFromSuperview];
|
||
}else{
|
||
[self showTitle:@"提醒" messsage:@"请正确设置温度"];
|
||
}
|
||
}
|
||
}
|
||
|
||
#pragma mark 默认换水时间
|
||
-(void)huanShuiMainQueue{
|
||
|
||
if (_indexPath.section-2==_titieArr.count)
|
||
{
|
||
Xuanduo3fModel*model3=self.dataModel;
|
||
int mac=[dataContorl hexToTen:model3.heatingTemperature];
|
||
|
||
//float TPlabel=mac/10+(mac%10)*0.1;
|
||
NSInteger temp = mac/10.0;
|
||
if (temp<1)
|
||
{
|
||
temp=1;
|
||
}
|
||
[_remindPic.pic selectRow:temp-1 inComponent:0 animated:NO];
|
||
|
||
return;
|
||
}
|
||
else if ([_remindPic.type isEqualToString:@"cycle"])
|
||
{
|
||
|
||
int mac=[dataContorl hexToTen:_cycleModel.lastTime];
|
||
|
||
//float TPlabel=mac/10+(mac%10)*0.1;
|
||
NSInteger temp = mac;
|
||
if (temp<1)
|
||
{
|
||
temp=1;
|
||
}
|
||
[_remindPic.pic selectRow:temp-1 inComponent:0 animated:NO];
|
||
|
||
return;
|
||
}
|
||
|
||
else if (_remindPic.picViewResultString !=nil || (_remindPic.picViewResultString ==nil && self.waterInfmodel.remindcycle !=0 )) {
|
||
NSArray*shijianArr=[_remindPic.picArr objectAtIndex:0];
|
||
NSLog(@"a");
|
||
for (NSInteger k=0; k<shijianArr.count; k++) {
|
||
ChangeWaterCell*cell=(ChangeWaterCell*)[self tableView:self.tableView cellForRowAtIndexPath:_indexPath];
|
||
|
||
NSString*dateString=cell.huanshuiDaylabel.text;
|
||
NSString*start=nil;
|
||
if (self.waterInfmodel.remindcycle == 0) {
|
||
//未设置换水时间时 默认为1
|
||
start = @"1";
|
||
}else{
|
||
|
||
NSRange range=[dateString rangeOfString:@"天"];
|
||
start=[dateString substringToIndex:range.location];
|
||
}
|
||
|
||
//判断数据源数组小于十的情况
|
||
//_remindPic.picViewResultString=dateString;
|
||
NSString*picString=shijianArr[k];
|
||
|
||
if ([picString isEqualToString:start] ) {
|
||
|
||
[_remindPic.pic selectRow:k inComponent:0 animated:NO];
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#pragma mark 换水时间设置
|
||
|
||
-(void)xuToremindCyclePicDone{
|
||
|
||
if (_indexPath.section==1) {
|
||
ChangeWaterCell*cell=[self.tableView cellForRowAtIndexPath:_indexPath];
|
||
NSString *str=_remindPic.picViewResultString;
|
||
if (str==nil) {
|
||
//str=@"1";
|
||
|
||
NSLog(@"ni hua dong tai kuai");
|
||
|
||
str=[NSString stringWithFormat:@"%ld",(long)self.waterInfmodel.remindcycle];
|
||
NSString*title=@"请设置换水天数";
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
title=@"请设置杀菌天数";
|
||
}
|
||
[_remindPic makeToast:title];
|
||
return;
|
||
}
|
||
|
||
|
||
cell.huanshuiDaylabel.text=[NSString stringWithFormat:@"%@天",str];
|
||
//设置换水日期
|
||
[IFISHHTTPTOOL setRemindWaterInfWith:[NSString stringWithFormat:@"%@_%@",self.currentdevice.deviceId,self.currentdevice.type]
|
||
waterRemind:@"1" remindCycle:str
|
||
huishuiShiJian:^(setRemindWaterModel *remindModel) {
|
||
|
||
self.nextChangeDateLabel=remindModel.remindDate;
|
||
self.waterInfmodel.waterremind=@"1";
|
||
self.waterInfmodel.remindDate=remindModel.remindDate;
|
||
self.waterInfmodel.remindcycle = remindModel.remindcycle;
|
||
[self.tableView reloadData];
|
||
}];
|
||
NSUserDefaults*defuat=[NSUserDefaults standardUserDefaults];
|
||
[defuat setValue:str forKey:@"xuto2picResult"];
|
||
[defuat synchronize];
|
||
[_remindPic removeFromSuperview];
|
||
|
||
}
|
||
else if (_indexPath.section-2==_titieArr.count)
|
||
{
|
||
TemperatureSetCell*cell=[self.tableView cellForRowAtIndexPath:_indexPath];
|
||
NSString *str=_remindPic.picViewResultString;
|
||
if (str==nil) {
|
||
//str=@"1";
|
||
|
||
NSLog(@"ni hua dong tai kuai");
|
||
|
||
str=[NSString stringWithFormat:@"%ld",(long)self.waterInfmodel.remindcycle];
|
||
NSString*title=@"请设置换水天数";
|
||
if ([self.currentdevice.type isEqualToString:DECICE_TYPE_XUANDUO3F])
|
||
{
|
||
title=@"请设置杀菌天数";
|
||
}
|
||
[_remindPic makeToast:title];
|
||
return;
|
||
}
|
||
|
||
|
||
cell.temperaturelabel.text=[NSString stringWithFormat:@"%.1f℃",str.floatValue];
|
||
//设置换水日期
|
||
;
|
||
[_remindPic removeFromSuperview];
|
||
baseModel*tempModel=[[baseModel alloc]init];
|
||
tempModel.sendmacId =self.currentdevice.macAddress;
|
||
tempModel.resavemacId =self.currentdevice.macAddress;
|
||
tempModel.functionCode=@"0e";
|
||
tempModel.massagelegth=@"13";
|
||
|
||
|
||
|
||
int intString = [str intValue];
|
||
int newIntString=intString*10;
|
||
|
||
NSString*temp =[dataContorl tpIntStringToFourHex:newIntString];
|
||
NSString*minString=[NSString stringWithFormat:@"%@%@%@",tempModel.description,temp,@"0000"];
|
||
NSLog(@"minstring = %@",minString);
|
||
NSData*tempData=[dataContorl stringToHexData:minString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:tempData];
|
||
|
||
|
||
}
|
||
else if ([_remindPic.type isEqualToString:@"cycle"])
|
||
{
|
||
SetTimerCell*cell=[self.tableView cellForRowAtIndexPath:_indexPath];
|
||
NSString *str=_remindPic.picViewResultString;
|
||
if (str==nil) {
|
||
//str=@"1";
|
||
|
||
NSLog(@"ni hua dong tai kuai");
|
||
|
||
str=[NSString stringWithFormat:@"%ld",(long)self.waterInfmodel.remindcycle];
|
||
|
||
[_remindPic makeToast:@"请设置杀菌持续时间"];
|
||
return;
|
||
}
|
||
|
||
|
||
cell.timerLabel.text=[NSString stringWithFormat:@"%d分钟",str.intValue];
|
||
//设置换水日期
|
||
;
|
||
[_remindPic removeFromSuperview];
|
||
baseModel*tempModel=[[baseModel alloc]init];
|
||
tempModel.sendmacId =self.currentdevice.macAddress;
|
||
tempModel.resavemacId =self.currentdevice.macAddress;
|
||
tempModel.functionCode=@"18";
|
||
tempModel.massagelegth=@"17";
|
||
|
||
|
||
|
||
int intString = [str intValue];
|
||
|
||
NSString*hex=[dataContorl ToHex:intString];
|
||
NSString*temp =[dataContorl leftAddZero:4 andStr:hex];
|
||
_cycleModel.lastTime=temp;
|
||
NSString*minString=[NSString stringWithFormat:@"%@%@%@%@%@%@",tempModel.description,_cycleModel.lightNumber,_cycleModel.lastTime,_cycleModel.gapTime,_cycleModel.status,@"0000"];
|
||
NSLog(@"minstring = %@",minString);
|
||
NSData*tempData=[dataContorl stringToHexData:minString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:tempData];
|
||
|
||
|
||
baseModel*readModel=[[baseModel alloc]init];
|
||
readModel.sendmacId =self.currentdevice.macAddress;
|
||
readModel.resavemacId =self.currentdevice.macAddress;
|
||
readModel.functionCode=@"19";
|
||
readModel.massagelegth=@"12";
|
||
|
||
NSString*readString=[NSString stringWithFormat:@"%@%@%@%@%@%@",readModel.description,_cycleModel.lightNumber,@"0000"];
|
||
|
||
NSData*readData=[dataContorl stringToHexData:readString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:readData];
|
||
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
#pragma mark 开启关闭报警
|
||
-(void)xuTotempSwitchAction:(UIButton*)temperatureSwitch{
|
||
|
||
setWaringTpModel*warModel1 = [[setWaringTpModel alloc]init];
|
||
warModel1.sendmacId = self.currentdevice.macAddress;
|
||
warModel1.resavemacId = self.currentdevice.macAddress;
|
||
//BOOL isOn=[temperatureSwitch isOn];
|
||
if (temperatureSwitch.selected == YES) {
|
||
NSLog(@"开");
|
||
temperatureSwitch.selected = NO;
|
||
warModel1.kaiguan=@"01";// 开
|
||
warModel1.miniwaterTp=@"0000"; // 0
|
||
warModel1.maxwaterTp=@"0000";//0
|
||
}else{
|
||
temperatureSwitch.selected =YES;
|
||
|
||
warModel1.kaiguan=@"00";// 关
|
||
warModel1.miniwaterTp=@"0000"; // 0
|
||
warModel1.maxwaterTp=@"0000";//0
|
||
NSLog(@"关");
|
||
}
|
||
[self setTmperatureStateWithModel:warModel1 addBackModel:self.dataModel];
|
||
|
||
}
|
||
-(void)setTmperatureStateWithModel:(setWaringTpModel*)waringModel addBackModel:(Xuanduo2Model *)backModel{
|
||
NSString*maxminTpString=waringModel.description;
|
||
waringModel.crc16Ing=@"0000";
|
||
NSString*minString=[NSString stringWithFormat:@"%@%@%@%@%@",maxminTpString,waringModel.kaiguan,waringModel.miniwaterTp,waringModel.maxwaterTp,waringModel.crc16Ing];
|
||
NSData*minwenDuData=[dataContorl stringToHexData:minString];
|
||
[[Socketsingleton sharedInstance] soketWriteData:minwenDuData];
|
||
[_indicatorView startAnimating];
|
||
backModel.miniTemp=waringModel.miniwaterTp;
|
||
backModel.maxTemp=waringModel.maxwaterTp;
|
||
|
||
}
|
||
|
||
#pragma mark 换水提醒Action
|
||
-(void)xuTochangeWaterSwitch:(UIButton*)sender{
|
||
|
||
UIButton*huanShuiSwitch=(UIButton*)sender;
|
||
//BOOL isButtonOn=[huanShuiSwitch isOn];
|
||
NSUserDefaults*defuat=[NSUserDefaults standardUserDefaults];
|
||
NSString*picResult=[defuat valueForKey:@"xuto2picResult"];
|
||
int pic = picResult.intValue;
|
||
if (pic==0) {
|
||
[self showTitle:@"" messsage:@"请设置提醒天数"];
|
||
if (huanShuiSwitch.selected == YES) {
|
||
huanShuiSwitch.selected =NO;
|
||
|
||
}else{
|
||
huanShuiSwitch.selected =YES;
|
||
}
|
||
|
||
}else{
|
||
|
||
if (huanShuiSwitch.selected ==YES) {
|
||
//开
|
||
huanShuiSwitch.selected =NO;
|
||
[IFISHHTTPTOOL setRemindWaterInfWith:[NSString stringWithFormat:@"%@_%@",self.currentdevice.deviceId,self.currentdevice.type]
|
||
waterRemind:@"1" remindCycle:picResult
|
||
huishuiShiJian:^(setRemindWaterModel *remindModel) {
|
||
self.nextChangeDateLabel=remindModel.remindDate;
|
||
|
||
}];
|
||
//更新选择状态 设置界面 在不断 刷新
|
||
|
||
self.waterInfmodel.waterremind=@"1";
|
||
[self.tableView reloadData];
|
||
|
||
}else{
|
||
//关
|
||
huanShuiSwitch.selected =YES;
|
||
[IFISHHTTPTOOL setRemindWaterInfWith:[NSString stringWithFormat:@"%@_%@",self.currentdevice.deviceId,self.currentdevice.type]
|
||
waterRemind:@"0" remindCycle:picResult
|
||
huishuiShiJian:^(setRemindWaterModel *remindModel) {
|
||
|
||
self.nextChangeDateLabel=remindModel.remindDate;
|
||
self.waterInfmodel=remindModel;
|
||
|
||
}];
|
||
|
||
self.waterInfmodel.waterremind=@"0";
|
||
|
||
[self.tableView reloadData];
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
-(void)creatIndicatorView{
|
||
|
||
_indicatorView=[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
|
||
_indicatorView.frame=CGRectMake(kScreenSize.width/2-50,kScreenSize.height/2-100,100, 100);
|
||
_indicatorView.backgroundColor=IndicatorBack_COLOR;
|
||
_indicatorView.layer.masksToBounds=YES;
|
||
_indicatorView.layer.cornerRadius=5;
|
||
AppDelegate *delegate= [[UIApplication sharedApplication] delegate];
|
||
[delegate.window addSubview:_indicatorView];
|
||
|
||
}
|
||
|
||
- (setRemindWaterModel *)waterInfmodel {
|
||
if (!_waterInfmodel) {
|
||
_waterInfmodel = [setRemindWaterModel new];
|
||
}
|
||
return _waterInfmodel;
|
||
}
|
||
|
||
- (NSMutableDictionary *)timeDic {
|
||
if (!_timeDic) {
|
||
_timeDic = [[NSMutableDictionary alloc] init];
|
||
}
|
||
return _timeDic;
|
||
}
|
||
|
||
#pragma mark - socket --
|
||
- (void)connect {
|
||
if ([self.currentdevice.isBlacklist isEqualToString:@"0"]) {
|
||
[self InitSocket];//允许请求数据
|
||
}
|
||
}
|
||
|
||
#pragma mark - 连接socket
|
||
-(void)InitSocket{
|
||
NSLog(@"******%d",[Socketsingleton sharedInstance].clientSocket.isConnected);
|
||
if (![Socketsingleton sharedInstance].clientSocket.isConnected) {
|
||
|
||
//[[Socketsingleton sharedInstance];
|
||
}
|
||
// 切换设备 先断开然后重连
|
||
[[Socketsingleton sharedInstance] socketConnectHost];
|
||
[Socketsingleton sharedInstance].macAddress = self.currentdevice.macAddress;
|
||
}
|
||
|
||
#pragma mark 通信监听communiteDelegate
|
||
|
||
//当已经和服务端断开连接后调用该代理方法
|
||
//断线重连功能需要在这里进行
|
||
|
||
-(void)ifishSocketDidDisconnect:(AsyncSocket *)sock{
|
||
|
||
|
||
}
|
||
|
||
-(void)ifishSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err{
|
||
// NSLog(@"soket错误断开");
|
||
// NSLog(@"存留数据%@",[sock unreadData]);
|
||
|
||
}
|
||
|
||
-(BOOL)ifishSocketWillConnect:(AsyncSocket *)sock{
|
||
|
||
// NSLog(@"将要链接");
|
||
return YES;
|
||
|
||
}
|
||
|
||
#pragma mark 当已经与服务端建立连接后调用的代理方法
|
||
|
||
|
||
-(void)ifishSocket:(AsyncSocket *)sock ifishSocketdidConnectToHost:(NSString *)host port:(UInt16)port{
|
||
//已建立连接 登陆指令同意在soket单例中
|
||
|
||
}
|
||
|
||
//发送完成处理
|
||
|
||
-(void)ifishSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag{
|
||
|
||
}
|
||
|
||
#pragma mark 登陆成功后收到服务端的回执之后,调用的代理方法
|
||
|
||
//父类里面不执行此方法 接收服务器返回信息 在子类中做处理
|
||
|
||
//communiteDelegate
|
||
|
||
-(void)socketDidGetBackmsgData:(NSData *)data onsoket:(AsyncSocket *)sock{
|
||
//[_HUD hide:YES];
|
||
NSString*string1=[dataContorl dataToHexString:data];
|
||
NSLog(@"return str == %@",string1);
|
||
NSString *readTimer = [string1 substringToIndex:4];
|
||
if (_selectSection-2<_titieArr.count && _selectSection-2>=0 && [readTimer isEqualToString:@"0116"]) {
|
||
if (!_timerModel) {
|
||
_timerModel = [[Xuanduo2TimerModel alloc] init];
|
||
_timerModel.groupModelArr = [NSMutableArray array];
|
||
}else {
|
||
[_timerModel.groupModelArr removeAllObjects];
|
||
}
|
||
[Xuanduo2DataUtility readTimerSocketDataWithBackMsgModel:_timerModel addWithBackStr:string1 type:self.currentdevice.type];
|
||
NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]];
|
||
[dataArr removeAllObjects];
|
||
[dataArr addObject:plusflag];
|
||
[dataArr addObjectsFromArray:_timerModel.groupModelArr];
|
||
BOOL havePlus = [dataArr containsObject:plusflag];
|
||
if (havePlus && dataArr.count > 10) {
|
||
[dataArr removeObjectAtIndex:0];
|
||
}else if (!havePlus && dataArr.count < 10){
|
||
[dataArr insertObject:plusflag atIndex:0];
|
||
}
|
||
NSLog(@"dataarr.count = %ld",dataArr.count);
|
||
|
||
|
||
}
|
||
else if (_selectSection-2<_titieArr.count && _selectSection-2>=0 && [readTimer isEqualToString:@"0119"]) {
|
||
|
||
_cycleModel=[[XuanduoCycleModel alloc]init];
|
||
[Xuanduo2DataUtility readCycleSocketDataWithBackMsgModel:_cycleModel addWithBackStr:string1 type:self.currentdevice.type];
|
||
NSMutableArray *dataArr = [self.timeDic objectForKey:_titieArr[_selectSection-2]];
|
||
[dataArr removeAllObjects];
|
||
|
||
[dataArr addObject:_cycleModel];
|
||
|
||
|
||
|
||
}
|
||
if ([readTimer isEqualToString:@"0108"] || [readTimer isEqualToString:@"0105"]) {
|
||
[Xuanduo2DataUtility readSocketDataWithBackMsgModel:self.dataModel addWithBackData:data type:self.currentdevice.type];
|
||
[self refreshWithData:self.dataModel];
|
||
|
||
}
|
||
[self.XuTohud hidmyHud];
|
||
[self.indicatorView stopAnimating];
|
||
[self.tableView reloadData];
|
||
}
|
||
|
||
-(void)ifishDeviceLogInFail{
|
||
|
||
}
|
||
|
||
-(void)ifishDeviceLogInSuccees{
|
||
|
||
}
|
||
|
||
-(void)ifishSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket{
|
||
|
||
}
|
||
|
||
|
||
|
||
@end
|