package com.iamberry.wechat.service.questionnaire;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.iamberry.wechat.core.entity.questionnaire.QuestionnaireOption;
import com.iamberry.wechat.core.entity.questionnaire.QuestionnaireQuestionDto;
import com.iamberry.wechat.face.questionnaire.QuestionOptionService;
import com.iamberry.wechat.face.questionnaire.QuestionnaireService;
import com.iamberry.wechat.service.mapper.QuestionnaireMapper;
/**
 * 营养自测-业务逻辑
 * @author Administrator
 *
 */
@Service
public class QuestionnaireServiceImpl implements QuestionnaireService {
	
	@Autowired
	private QuestionnaireMapper questionnaireMapper;
	@Autowired
	private QuestionOptionService questionOptionService;
	@Override
	public List<QuestionnaireQuestionDto> getAllProblem(
			QuestionnaireQuestionDto questionnaireQuestionDto) {
		// TODO Auto-generated method stub
		return questionnaireMapper.getAllProblem(questionnaireQuestionDto);
	}

	@Override
	public int getAllProblemCount(QuestionnaireQuestionDto questionnaireQuestionDto) {
		int count = questionnaireMapper.getAllProblemCount(questionnaireQuestionDto);
		return count = count % questionnaireQuestionDto.getPage().getPageSize() == 0? count/questionnaireQuestionDto.getPage().getPageSize():(count/questionnaireQuestionDto.getPage().getPageSize())+1;
	}

	@Override
	public Integer updateQuestionStatu(
			QuestionnaireQuestionDto questionnaireQuestionDto) {
		// TODO Auto-generated method stub
		return questionnaireMapper.updateQuestionStatu(questionnaireQuestionDto);
	}

	@Override
	public QuestionnaireQuestionDto insertQuestion(QuestionnaireQuestionDto questionnaireQuestionDto,String[] options,String[] optionScore,String[] optionIsChekcbox) {
		questionnaireMapper.insertQuestion(questionnaireQuestionDto);
				//循环添加问题选项
				if(options != null || !options.equals("")|| optionScore != null || !optionScore.equals("")){
					for(int i = 1;i<=options.length;i++){
						QuestionnaireOption  questionnaireOption = new QuestionnaireOption();
						questionnaireOption.setOptionQuesionId(questionnaireQuestionDto.getQuestionId());
						questionnaireOption.setOptionName(options[i-1]);
						questionnaireOption.setOptionScore(Integer.valueOf(optionScore[i-1]));
						questionnaireOption.setOptionOrder(i);
						questionnaireOption.setOptionCreateDate(new Date());
						questionnaireOption.setOptionStatus(1);
						questionnaireOption.setOptionNumber(0);
						questionnaireOption.setOptionIsChekcbox(Integer.valueOf(optionIsChekcbox[i-1]));
						questionOptionService.insertOption(questionnaireOption);
					}
				}
		
		// TODO Auto-generated method stub
		return questionnaireQuestionDto; 
	}

	@Override
	public Integer updateQuestion(
			QuestionnaireQuestionDto questionnaireQuestionDto) {
		// TODO Auto-generated method stub
		return questionnaireMapper.updateQuestion(questionnaireQuestionDto);
	}

	@Override
	public QuestionnaireQuestionDto getProblemById(Integer questionId) {
		// TODO Auto-generated method stub
		return questionnaireMapper.getProblemById(questionId);
	}

	@Override
	public Integer deleteQuestion(Integer questionId) {
		// TODO Auto-generated method stub
		return questionnaireMapper.deleteQuestion(questionId);
	}
	@Override
	public Integer deletePaperQuestion(Integer questionId) {
		// TODO Auto-generated method stub
		return questionnaireMapper.deletePaperQuestion(questionId);
	}

	@Override
	public Integer updatePaperOrder(
			QuestionnaireQuestionDto questionnaireQuestionDto) {
		// TODO Auto-generated method stub
		return questionnaireMapper.updatePaperOrder(questionnaireQuestionDto);
	}
	
	
}
