package com.zcloud.controller.gf;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.zcloud.controller.base.BaseController;
import com.zcloud.dto.mq.Response;
import com.zcloud.dto.mq.TenCorpDto;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.mq.util.TenCorpConst;
import com.zcloud.service.gf.*;
import com.zcloud.util.*;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartRequest;
import com.zcloud.mq.service.SendMessageService;

import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * 说明:高空作业
 * 作者:luoxiaobao
 * 时间:2021-08-31
 * 官网:www.zcloudchina.com
 */
@Controller
@RequestMapping("/app/gfElectricity")
public class AppGFElectricityController extends BaseController {

	@Resource
	private GFElectricityAcceptUserService electricityacceptuserService;
	@Resource
	private GFElectricityService GFelectricityService;
	@Resource
	private GFElectricityLogService GFelectricityLogService;
	@Resource
	private GFElectricityToMeasuresService GFelectricityToMeasuresService;
	@Resource
	private GFElectricityGasService GFelectricityGasService;
	@Autowired
	private SendMessageUtil sendMessageUtil;
	@Autowired
	private Smb smb;

	@Resource
	private SendMessageService mqClient;

	/**获取编码
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/getCode")
	@ResponseBody
//	@LogAnno(menuType= "手机",menuServer= "高空作业",instructionsOperate = "高空作业",instructionsType = "获取编码")
	public Object getCode() throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		Calendar calendar = Calendar.getInstance();
		DecimalFormat dft=new DecimalFormat("00");
		int year = calendar.get(Calendar.YEAR);
		String month = dft.format(calendar.get(Calendar.MONTH) + 1);
		String day = dft.format(calendar.get(Calendar.DAY_OF_MONTH));
		pd.put("CREATDATE",year + "-" + month + "-" + day);
		pd = GFelectricityService.getCode(pd);	//根据ID读取
		String code = "YD"+year + month + day + dft.format((Integer.parseInt(pd.get("code").toString())+1));
		map.put("code", code);
		map.put("result", errInfo);
		return map;
	}

	/**新增
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/add")
	@ResponseBody
	@Transactional
	public Object add() throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		PageData pd2 = new PageData();
		Calendar calendar = Calendar.getInstance();
		DecimalFormat dft=new DecimalFormat("00");
		int year = calendar.get(Calendar.YEAR);
		String month = dft.format(calendar.get(Calendar.MONTH) + 1);
		String day = dft.format(calendar.get(Calendar.DAY_OF_MONTH));
		pd2.put("CREATDATE",year + "-" + month + "-" + day);
		pd2.put("CORPINFO_ID",pd.get("CORPINFO_ID"));
		pd2 = GFelectricityService.getCode(pd2);	//根据ID读取
		String code = "YD"+year + month + day + dft.format((Integer.parseInt(pd2.get("code").toString())+1));
		pd = this.getPageData();
		pd.put("CHECK_NO", code);
		pd.put("ELECTRICITY_ID", this.get32UUID());	//主键
		pd.put("CREATTIME", DateUtil.date2Str(new Date()));	//添加时间
		pd.put("OPERATTIME", DateUtil.date2Str(new Date()));	//修改时间
		pd.put("ISDELETE", "0");	//是否删除 1-是  0-否
		GFelectricityService.save(pd);

		if(pd.get("APPLY_STATUS").equals("1")) {
			PageData log = new PageData();
			log.put("ELECTRICITYLOG_ID", this.get32UUID());
			log.put("ACTION", "提交申请");
			log.put("ELECTRICITY_ID", pd.get("ELECTRICITY_ID"));
			log.put("CREATOR",pd.get("ACTION_USER"));
			log.put("CREATTIME", DateUtil.date2Str(new Date()));
			GFelectricityLogService.save(log);

			// 发短信
			PageData mes = new PageData();
			mes.put("RECEIVER_ID", pd.get("CONFIRM_USER_ID"));// 收信人userid
			mes.put("templateCode", "YD_Y01");// 短信模板编码
			mes.put("SMSCode", "SMS_227245922");// 短信模板编码
			mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
			// 参数集合
			List<PageData> paramsList = new ArrayList<PageData>();
			// 第1个参数
			PageData params1 = new PageData();
			params1.put("name", "number");// 存入短信模板中的参数名称
			params1.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
			paramsList.add(params1);
			// 第2个参数
			PageData params2 = new PageData();
			params2.put("name", "params1");// 存入短信模板中的参数名称
			params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
			paramsList.add(params2);
			// 第3个参数
			PageData params3 = new PageData();
			params3.put("name", "params2");// 存入短信模板中的参数名称
			params3.put("value", "作业单位确认");// 存入上面参数名称所传递的值
			paramsList.add(params3);
			// 第4个参数
			PageData params4 = new PageData();
			params4.put("name", "params3");// 存入短信模板中的参数名称
			params4.put("value", "确认");// 存入上面参数名称所传递的值
			paramsList.add(params4);
			sendMessageUtil.sendMessages(mes, paramsList);
		}
		if("1".equals(pd.get("ISANALYZE"))){
			TenCorpDto tenCorpDto = new TenCorpDto();
			tenCorpDto.setMark(pd.getString("ELECTRICITY_ID"));
			tenCorpDto.setMark_name("ELECTRICITY_ID");
			tenCorpDto.setTime_stamp(pd.getString("WORK_START_DATE") + ":00:000");
			tenCorpDto.setTopic("eightWork");
			tenCorpDto.setData(pd);
			tenCorpDto.setMessage(TenCorpConst.electricity);

			mqClient.SendDelayQueue(tenCorpDto);
			// 发短信
			PageData mes1 = new PageData();
			mes1.put("RECEIVER_ID", pd.get("ANALYZE_USER_ID"));// 收信人userid
			mes1.put("templateCode", "DH_QT");// 短信模板编码
			mes1.put("SMSCode", "SMS_223540753");// 短信模板编码
			mes1.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
			// 参数集合
			List<PageData> paramsList1 = new ArrayList<PageData>();
			// 第1个参数
			PageData params5 = new PageData();
			params5.put("name", "params1");// 存入短信模板中的参数名称
			params5.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
			paramsList1.add(params5);
			// 第2个参数
			PageData params6 = new PageData();
			params6.put("name", "params2");// 存入短信模板中的参数名称
			params6.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
			paramsList1.add(params6);
			sendMessageUtil.sendMessages(mes1, paramsList1);
		}
		map.put("result", errInfo);
		return map;
	}

	/**删除
	 * @param out
	 * @throws Exception
	 */
	@RequestMapping(value="/delete")
	@ResponseBody
	public Object delete() throws Exception{
		Map<String,String> map = new HashMap<String,String>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		GFelectricityService.delete(pd);
		map.put("result", errInfo);				//返回结果
		return map;
	}

	/**修改
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/edit")
	@ResponseBody
	@Transactional
	public Object edit() throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		GFelectricityService.edit(pd);
		if(pd.get("APPLY_STATUS").equals("1")) {
			PageData log = new PageData();
			log.put("ELECTRICITYLOG_ID", this.get32UUID());
			log.put("ACTION", "提交申请");
			log.put("ELECTRICITY_ID", pd.get("ELECTRICITY_ID"));
			log.put("CREATOR",pd.get("ACTION_USER"));
			log.put("CREATTIME", DateUtil.date2Str(new Date()));
			GFelectricityLogService.save(log);

			// 发短信
			PageData mes = new PageData();
			mes.put("RECEIVER_ID", pd.get("CONFIRM_USER_ID"));// 收信人userid
			mes.put("templateCode", "YD_Y01");// 短信模板编码
			mes.put("SMSCode", "SMS_227245922");// 短信模板编码
			mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
			// 参数集合
			List<PageData> paramsList = new ArrayList<PageData>();
			// 第1个参数
			PageData params1 = new PageData();
			params1.put("name", "number");// 存入短信模板中的参数名称
			params1.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
			paramsList.add(params1);
			// 第2个参数
			PageData params2 = new PageData();
			params2.put("name", "params1");// 存入短信模板中的参数名称
			params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
			paramsList.add(params2);
			// 第3个参数
			PageData params3 = new PageData();
			params3.put("name", "params2");// 存入短信模板中的参数名称
			params3.put("value", "作业单位确认");// 存入上面参数名称所传递的值
			paramsList.add(params3);
			// 第4个参数
			PageData params4 = new PageData();
			params4.put("name", "params3");// 存入短信模板中的参数名称
			params4.put("value", "确认");// 存入上面参数名称所传递的值
			paramsList.add(params4);
			sendMessageUtil.sendMessages(mes, paramsList);
		}
		if("1".equals(pd.get("ISANALYZE"))){
			TenCorpDto tenCorpDto = new TenCorpDto();
			tenCorpDto.setMark(pd.getString("ELECTRICITY_ID"));
			tenCorpDto.setMark_name("ELECTRICITY_ID");
			tenCorpDto.setTime_stamp(pd.getString("WORK_START_DATE") + ":00:000");
			tenCorpDto.setTopic("eightWork");
			tenCorpDto.setData(pd);
			tenCorpDto.setMessage(TenCorpConst.electricity);

			mqClient.SendDelayQueue(tenCorpDto);
		}
		map.put("result", errInfo);
		return map;
	}
	/**修改
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/editGuardian")
	@ResponseBody
	@Transactional
	public Object editGuardian(
			@RequestParam(value="FFILE",required=false) MultipartFile[] files
	) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		PageData pd2 = new PageData();
		pd2 = GFelectricityService.findById(pd);
		pd2.put("OPERATOR", pd.get("OPERATOR"));	//修改人
		pd2.put("OPERATTIME", DateUtil.date2Str(new Date()));	//修改时间
		if (files != null && files.length > 0) {
			MultipartFile file = files[0];

			String  ffile = DateUtil.getDays();
			String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
			smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile);

			pd2.put("GUARDIAN_USER_SIGNER_PATH",  Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile + "/" + fileName);
			pd2.put("GUARDIAN_USER_SIGNER_TIME",  pd.get("SIGNER_TIME"));
//					pd2.put("GUARDIAN_CONTENT",  pd.get("CONTENT"));
//					pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
			GFelectricityService.edit(pd2);
		}
		map.put("result", errInfo);
		return map;
	}
	/**修改
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/editConfess")
	@ResponseBody
	@Transactional
	public Object editConfess(
			@RequestParam(value="FFILE",required=false) MultipartFile[] files
	) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		PageData pd2 = new PageData();
		pd2 = GFelectricityService.findById(pd);
		pd2.put("OPERATOR", pd.get("OPERATOR"));	//修改人
		pd2.put("OPERATTIME", DateUtil.date2Str(new Date()));	//修改时间
		if (files != null && files.length > 0) {
			MultipartFile file = files[0];

			String  ffile = DateUtil.getDays();
			String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
			smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile);

			pd2.put("CONFESS_USER_SIGNER_PATH",  Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile + "/" + fileName);
			pd2.put("CONFESS_USER_SIGNER_TIME",  pd.get("SIGNER_TIME"));
//					pd2.put("GUARDIAN_CONTENT",  pd.get("CONTENT"));
//					pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
			GFelectricityService.edit(pd2);
		}
		map.put("result", errInfo);
		return map;
	}
	/**修改
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/editAcceptconfess")
	@ResponseBody
	@Transactional
	public Object editAcceptconfess(MultipartRequest request) throws Exception {
		Map<String, Object> map = new HashMap<String, Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		PageData pd2 = new PageData();
		pd2 = GFelectricityService.findById(pd);
		pd2.put("OPERATOR", pd.get("OPERATOR"));    //修改人
		pd2.put("OPERATTIME", DateUtil.date2Str(new Date()));    //修改时间
		List<MultipartFile> fileList = new ArrayList<MultipartFile>();
		String signertime = "";
		String SIGNTIME[] = pd.getString("SIGNTIME").split(",");

		for (int i = 0; i < SIGNTIME.length; i++) {
			signertime = SIGNTIME[i];
			fileList.add(request.getFile("file"+i));
			MultipartFile[] fileArr = new MultipartFile[fileList.size()];
			saveImg(fileList.toArray(fileArr),signertime,pd.getString("ELECTRICITY_ID"),pd.getString("CORPINFO_ID"),pd.getString("ACCEPT_CONFESS_USER_ID"),pd.getString("ACCEPT_CONFESS_DEPARTMENT_ID"));
			fileList.clear();
		}
		map.put("result", errInfo);
		return map;
	}
	private void saveImg(MultipartFile[] files,String signertime, String ELECTRICITY_ID, String CORPINFO_ID, String ACCEPT_CONFESS_USER_ID, String ACCEPT_CONFESS_DEPARTMENT_ID) throws Exception{
		if (files != null && files.length > 0) {
			for (int i = 0; i < files.length; i++) {
				PageData pd = new PageData();
				pd = this.getPageData();
				MultipartFile file = files[i];
				String  ffile = DateUtil.getDays();
				String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
				smb.sshSftp(file, fileName,Const.FILEPATHFILE + CORPINFO_ID + "/" + ffile);
				pd.put("ACCEPT_CONFESS_USER_SIGNER_TIME", signertime);
				pd.put("ACCEPT_CONFESS_ID",  this.get32UUID());
				pd.put("OPERATOR", pd.get("OPERATOR"));    //修改人
				pd.put("OPERATTIME", DateUtil.date2Str(new Date()));    //修改时间
				pd.put("ACCEPT_CONFESS_USER_SIGNER_PATH",  Const.FILEPATHFILE + CORPINFO_ID + "/" + ffile + "/" + fileName);
				pd.put("ISDELETE", '0');
				pd.put("CORPINFO_ID",  CORPINFO_ID);
				pd.put("ELECTRICITY_ID", ELECTRICITY_ID);
				pd.put("ACCEPT_CONFESS_USER_ID", ACCEPT_CONFESS_USER_ID);
				pd.put("ACCEPT_CONFESS_DEPARTMENT_ID", ACCEPT_CONFESS_DEPARTMENT_ID);
				pd.put("ACCEPT_USER_ID","");
				pd.put("ACCEPT_DEPARTMENT_ID", "");
				electricityacceptuserService.save(pd);
			}
		}
	}
	/**修改
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/editAcceptStatus")
	@ResponseBody
	@Transactional
	public Object editAcceptStatus(MultipartRequest request) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		PageData pd2 = new PageData();
		pd2 = GFelectricityService.findById(pd);
		pd2.put("OPERATOR", pd.get("OPERATOR"));	//修改人
		pd2.put("OPERATTIME", DateUtil.date2Str(new Date()));	//修改时间
		PageData log = new PageData();
		log.put("ELECTRICITYLOG_ID", this.get32UUID());
//        log.put("ACTION", "审核打回");
		log.put("ELECTRICITY_ID", pd.get("ELECTRICITY_ID"));
		log.put("CREATOR",pd.get("ACTION_USER"));
		log.put("CREATTIME", DateUtil.date2Str(new Date()));

		String status = pd.get("STATUS").toString();
		if ("2".equals(status) || "3".equals(status) || "4".equals(status)) {
			String OTHER_PROTECTIVE_MEASURES = (StringUtils.isNotBlank(pd2.getString("OTHER_PROTECTIVE_MEASURES")) ? pd2.getString("OTHER_PROTECTIVE_MEASURES") : "") +
					(StringUtils.isNotBlank(pd.getString("OTHER_PROTECTIVE_MEASURES")) ? (pd.getString("OTHER_PROTECTIVE_MEASURES") + ";_;") : ";_;");
			pd.put("OTHER_PROTECTIVE_MEASURES", OTHER_PROTECTIVE_MEASURES);
			pd2.put("OTHER_PROTECTIVE_MEASURES", OTHER_PROTECTIVE_MEASURES);
		} else if ("-2".equals(status) || "-3".equals(status) || "-4".equals(status) || "-5".equals(status)) {
			//打回清空数据
			pd2.put("OTHER_PROTECTIVE_MEASURES", "");
		}

		switch (status) {

			case "5"://验收人
				List<MultipartFile> fileList = new ArrayList<MultipartFile>();
				String signertime = "";
				String SIGNTIME[] = pd.getString("SIGNTIME").split(",");

				for (int i = 0; i < SIGNTIME.length; i++) {
					signertime = SIGNTIME[i];
					fileList.add(request.getFile("file"+i));
					MultipartFile[] fileArr = new MultipartFile[fileList.size()];
					saveAcceptImg(fileList.toArray(fileArr),signertime,pd.getString("ELECTRICITY_ID"),pd.getString("CORPINFO_ID"),pd.getString("ACCEPT_USER_ID"),pd.getString("ACCEPT_DEPARTMENT_ID"));
					fileList.clear();
				}
					pd2.put("ACCEPT_CONTENT",  pd.get("CONTENT"));
					pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
					GFelectricityService.edit(pd2);
					log.put("ACTION", "验收通过");

					// 发短信
					PageData mes = new PageData();
					mes.put("RECEIVER_ID", pd2.get("APPLY_USER_ID"));// 收信人userid
					mes.put("templateCode", "YD_Y05");// 短信模板编码
					mes.put("SMSCode", "SMS_227250920");// 短信模板编码
					mes.put("CORPINFO_ID", pd2.get("CORPINFO_ID"));// 企业id
					// 参数集合
					List<PageData> paramsList = new ArrayList<PageData>();
					// 第1个参数
					PageData params1 = new PageData();
					params1.put("name", "number");// 存入短信模板中的参数名称
					params1.put("value", pd2.get("CHECK_NO"));// 存入上面参数名称所传递的值
					paramsList.add(params1);
					// 第2个参数
					PageData params2 = new PageData();
					params2.put("name", "type");// 存入短信模板中的参数名称
					params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
					paramsList.add(params2);
					sendMessageUtil.sendMessages(mes, paramsList);
				break;

			case "-5"://验收打回
				log.put("ACTION", "验收人打回");
				pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
				pd2.put("ACCEPT_CONTENT",  pd.get("CONTENT"));
				GFelectricityService.edit(pd2);

				PageData mes3 = new PageData();
				mes3.put("RECEIVER_ID", pd2.get("APPLY_USER_ID"));// 收信人userid
				mes3.put("templateCode", "YD_N05");// 短信模板编码
				mes3.put("SMSCode", "SMS_223580715");// 短信模板编码
				mes3.put("CORPINFO_ID", pd2.get("CORPINFO_ID"));// 企业id
				// 参数集合
				List<PageData> paramsList3 = new ArrayList<PageData>();
				// 第1个参数
				PageData paramsc1 = new PageData();
				paramsc1.put("name", "params1");// 存入短信模板中的参数名称
				paramsc1.put("value", pd2.get("CHECK_NO"));// 存入上面参数名称所传递的值
				paramsList3.add(paramsc1);

				// 第2个参数
				PageData paramsc2 = new PageData();
				paramsc2.put("name", "params2");// 存入短信模板中的参数名称
				paramsc2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
				paramsList3.add(paramsc2);
				// 第3个参数
				PageData paramsc3 = new PageData();
				paramsc3.put("name", "params3");// 存入短信模板中的参数名称
				paramsc3.put("value", "验收");// 存入上面参数名称所传递的值
				paramsList3.add(paramsc3);
				sendMessageUtil.sendMessages(mes3, paramsList3);
				break;
			default:
				break;
		}
		GFelectricityLogService.save(log);

		map.put("result", errInfo);
		return map;
	}

	private void saveAcceptImg(MultipartFile[] files,String signertime, String ELECTRICITY_ID, String CORPINFO_ID, String ACCEPT_USER_ID, String ACCEPT_DEPARTMENT_ID) throws Exception{
		if (files != null && files.length > 0) {
			for (int i = 0; i < files.length; i++) {
				PageData cpd = new PageData();
				cpd = this.getPageData();
				MultipartFile file = files[i];
				String  ffile = DateUtil.getDays();
				String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
				smb.sshSftp(file, fileName,Const.FILEPATHFILE + CORPINFO_ID + "/" + ffile);
				cpd.put("ACCEPT_USER_SIGNER_TIME", signertime);
				cpd.put("ACCEPT_CONFESS_ID",  this.get32UUID());
				cpd.put("OPERATOR", cpd.get("OPERATOR"));    //修改人
				cpd.put("OPERATTIME", DateUtil.date2Str(new Date()));    //修改时间
				cpd.put("ACCEPT_USER_SIGNER_PATH",  Const.FILEPATHFILE + CORPINFO_ID + "/" + ffile + "/" + fileName);
				cpd.put("ISDELETE", '0');
				cpd.put("CORPINFO_ID",  CORPINFO_ID);
				cpd.put("ELECTRICITY_ID", ELECTRICITY_ID);
				cpd.put("ACCEPT_USER_ID", ACCEPT_USER_ID);
				cpd.put("ACCEPT_CONFESS_DEPARTMENT_ID", "");
				cpd.put("ACCEPT_CONFESS_USER_ID", "");
				cpd.put("ACCEPT_DEPARTMENT_ID", ACCEPT_DEPARTMENT_ID);
				electricityacceptuserService.save(cpd);
			}
		}
	}


	/**修改
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/editStatus")
	@ResponseBody
	@Transactional
	public Object editStatus(
			@RequestParam(value="FFILE",required=false) MultipartFile[] files
	) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		PageData pd2 = new PageData();
		pd2 = GFelectricityService.findById(pd);
		pd2.put("OPERATOR", pd.get("OPERATOR"));	//修改人
		pd2.put("OPERATTIME", DateUtil.date2Str(new Date()));	//修改时间
		PageData log = new PageData();
		log.put("ELECTRICITYLOG_ID", this.get32UUID());
//        log.put("ACTION", "审核打回");
		log.put("ELECTRICITY_ID", pd.get("ELECTRICITY_ID"));
		log.put("CREATOR",pd.get("ACTION_USER"));
		log.put("CREATTIME", DateUtil.date2Str(new Date()));

		String status = pd.get("STATUS").toString();
		if ("2".equals(status) || "3".equals(status) || "4".equals(status)) {
			String OTHER_PROTECTIVE_MEASURES = (StringUtils.isNotBlank(pd2.getString("OTHER_PROTECTIVE_MEASURES")) ? pd2.getString("OTHER_PROTECTIVE_MEASURES") : "") +
					(StringUtils.isNotBlank(pd.getString("OTHER_PROTECTIVE_MEASURES")) ? (pd.getString("OTHER_PROTECTIVE_MEASURES") + ";_;") : ";_;");
			pd.put("OTHER_PROTECTIVE_MEASURES", OTHER_PROTECTIVE_MEASURES);
			pd2.put("OTHER_PROTECTIVE_MEASURES", OTHER_PROTECTIVE_MEASURES);
		} else if ("-2".equals(status) || "-3".equals(status) || "-4".equals(status) || "-5".equals(status)) {
			//打回清空数据
			pd2.put("OTHER_PROTECTIVE_MEASURES", "");
		}

		switch (status) {
			case "2"://作业单位
				if (files != null && files.length > 0) {
					MultipartFile file = files[0];

					String  ffile = DateUtil.getDays();
					String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
					smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile);

					pd2.putAll(pd);
					pd2.put("CONFIRM_USER_SIGNER_PATH",  Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile + "/" + fileName);
					pd2.put("CONFIRM_USER_SIGNER_TIME",  pd.get("SIGNER_TIME"));
					pd2.put("CONFIRM_CONTENT",  pd.get("CONTENT"));
					pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
					GFelectricityService.edit(pd2);
					GFelectricityToMeasuresService.delete(pd);
					List<JSONObject> list = (List<JSONObject>) JSON.parse(pd.get("measuresList").toString());
					for (JSONObject json : list) {
						PageData measures = new PageData();
						measures.put("ELECTRICITYTOMEASURES_ID", this.get32UUID()); // 主键
						measures.put("ELECTRICITY_ID", pd2.get("ELECTRICITY_ID"));
						measures.put("BUS_ELECTRICITY_MEASURES_ID", json.get("BUS_ELECTRICITY_MEASURES_ID"));
						measures.put("STATUS", json.get("STATUS"));
						measures.put("CONFIRM_ID", pd.get("OPERATOR"));
						measures.put("CONFIRM_NAME", pd.get("ACTION_USER"));
						GFelectricityToMeasuresService.save(measures);
					}
					log.put("ACTION", "作业单位通过");

					// 发短信
					PageData mes = new PageData();
					mes.put("RECEIVER_ID", pd.get("AUDIT_USER_ID"));// 收信人userid
					mes.put("templateCode", "YD_Y02");// 短信模板编码
					mes.put("SMSCode", "SMS_227245922");// 短信模板编码
					mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
					// 参数集合
					List<PageData> paramsList = new ArrayList<PageData>();
					// 第1个参数
					PageData params1 = new PageData();
					params1.put("name", "number");// 存入短信模板中的参数名称
					params1.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
					paramsList.add(params1);
					// 第2个参数
					PageData params2 = new PageData();
					params2.put("name", "params1");// 存入短信模板中的参数名称
					params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
					paramsList.add(params2);
					// 第3个参数
					PageData params3 = new PageData();
					params3.put("name", "params2");// 存入短信模板中的参数名称
					params3.put("value", "用电单位审核");// 存入上面参数名称所传递的值
					paramsList.add(params3);
					// 第4个参数
					PageData params4 = new PageData();
					params4.put("name", "params3");// 存入短信模板中的参数名称
					params4.put("value", "审核");// 存入上面参数名称所传递的值
					paramsList.add(params4);
					sendMessageUtil.sendMessages(mes, paramsList);
					if("1".equals(pd.get("ISANALYZE"))){
						TenCorpDto tenCorpDto = new TenCorpDto();
						tenCorpDto.setMark(pd.getString("ELECTRICITY_ID"));
						tenCorpDto.setMark_name("ELECTRICITY_ID");
						tenCorpDto.setTime_stamp(pd.getString("WORK_START_DATE") + ":00:000");
						tenCorpDto.setTopic("eightWork");
						tenCorpDto.setData(pd);
						tenCorpDto.setMessage(TenCorpConst.electricity);

						mqClient.SendDelayQueue(tenCorpDto);
					}

				}
				break;

			case "3"://用电单位审核
				if (files != null && files.length > 0) {
					MultipartFile file = files[0];

					String  ffile = DateUtil.getDays();
					String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
					smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile);

					pd2.put("AUDIT_USER_SIGNER_PATH",  Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile + "/" + fileName);
					pd2.put("AUDIT_USER_SIGNER_TIME",  pd.get("SIGNER_TIME"));
					pd2.put("AUDIT_CONTENT",  pd.get("CONTENT"));
					pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
					GFelectricityService.edit(pd2);
					log.put("ACTION", "用电单位审核通过");

					// 发短信
					PageData mes = new PageData();
					mes.put("RECEIVER_ID", pd.get("APPROVE_USER_ID"));// 收信人userid
						mes.put("templateCode", "YD_Y03");// 短信模板编码
					mes.put("SMSCode", "SMS_227245922");// 短信模板编码
					mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
					// 参数集合
					List<PageData> paramsList = new ArrayList<PageData>();
					// 第1个参数
					PageData params1 = new PageData();
					params1.put("name", "number");// 存入短信模板中的参数名称
					params1.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
					paramsList.add(params1);
					// 第2个参数
					PageData params2 = new PageData();
					params2.put("name", "params1");// 存入短信模板中的参数名称
					params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
					paramsList.add(params2);
					// 第3个参数
					PageData params3 = new PageData();
					params3.put("name", "params2");// 存入短信模板中的参数名称
					params3.put("value", "配送电单位审批");// 存入上面参数名称所传递的值
					paramsList.add(params3);
					// 第4个参数
					PageData params4 = new PageData();
					params4.put("name", "params3");// 存入短信模板中的参数名称
					params4.put("value", "审批");// 存入上面参数名称所传递的值
					paramsList.add(params4);
					sendMessageUtil.sendMessages(mes, paramsList);
				}
				break;

			case "4"://配送电单位审批
				if (files != null && files.length > 0) {
					MultipartFile file = files[0];

					String  ffile = DateUtil.getDays();
					String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
					smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile);

					pd2.put("APPROVE_USER_SIGNER_PATH",  Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile + "/" + fileName);
					pd2.put("APPROVE_USER_SIGNER_TIME",  pd.get("SIGNER_TIME"));
					pd2.put("APPROVE_CONTENT",  pd.get("CONTENT"));
					pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
					GFelectricityService.edit(pd2);
					log.put("ACTION", "配送电单位审批通过");

					// 发短信
					PageData mes = new PageData();
					mes.put("RECEIVER_ID", pd.get("ACCEPT_USER_ID"));// 收信人userid
					mes.put("templateCode", "YD_Y04");// 短信模板编码
					mes.put("SMSCode", "SMS_227245922");// 短信模板编码
					mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
					// 参数集合
					List<PageData> paramsList = new ArrayList<PageData>();
					// 第1个参数
					PageData params1 = new PageData();
					params1.put("name", "number");// 存入短信模板中的参数名称
					params1.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
					paramsList.add(params1);
					// 第2个参数
					PageData params2 = new PageData();
					params2.put("name", "params1");// 存入短信模板中的参数名称
					params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
					paramsList.add(params2);
					// 第3个参数
					PageData params3 = new PageData();
					params3.put("name", "params2");// 存入短信模板中的参数名称
					params3.put("value", "用电单位审核");// 存入上面参数名称所传递的值
					paramsList.add(params3);
					// 第4个参数
					PageData params4 = new PageData();
					params4.put("name", "params3");// 存入短信模板中的参数名称
					params4.put("value", "审核");// 存入上面参数名称所传递的值
					paramsList.add(params4);
					sendMessageUtil.sendMessages(mes, paramsList);
				}
				break;

			case "5"://验收人
				if (files != null && files.length > 0) {
					MultipartFile file = files[0];

					String  ffile = DateUtil.getDays();
					String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
					smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile);

					pd2.put("ACCEPT_USER_SIGNER_PATH",  Const.FILEPATHFILE + pd.getString("CORPINFO_ID") + "/" + ffile + "/" + fileName);
					pd2.put("ACCEPT_USER_SIGNER_TIME",  pd.get("SIGNER_TIME"));
					pd2.put("ACCEPT_CONTENT",  pd.get("CONTENT"));
					pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
					GFelectricityService.edit(pd2);
					log.put("ACTION", "验收通过");

					// 发短信
					PageData mes = new PageData();
					mes.put("RECEIVER_ID", pd2.get("APPLY_USER_ID"));// 收信人userid
					mes.put("templateCode", "YD_Y05");// 短信模板编码
					mes.put("SMSCode", "SMS_227250920");// 短信模板编码
					mes.put("CORPINFO_ID", pd2.get("CORPINFO_ID"));// 企业id
					// 参数集合
					List<PageData> paramsList = new ArrayList<PageData>();
					// 第1个参数
					PageData params1 = new PageData();
					params1.put("name", "number");// 存入短信模板中的参数名称
					params1.put("value", pd2.get("CHECK_NO"));// 存入上面参数名称所传递的值
					paramsList.add(params1);
					// 第2个参数
					PageData params2 = new PageData();
					params2.put("name", "type");// 存入短信模板中的参数名称
					params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
					paramsList.add(params2);
					sendMessageUtil.sendMessages(mes, paramsList);
				}
				break;
			case "-2"://作业单位打回
				log.put("ACTION", "作业单位打回");
				pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
				pd2.put("CONFIRM_CONTENT",  pd.get("CONTENT"));
				GFelectricityService.edit(pd2);

				PageData mes = new PageData();
				mes.put("RECEIVER_ID", pd2.get("APPLY_USER_ID"));// 收信人userid
				mes.put("templateCode", "YD_N02");// 短信模板编码
				mes.put("SMSCode", "SMS_223580715");// 短信模板编码
				mes.put("CORPINFO_ID", pd2.get("CORPINFO_ID"));// 企业id
				// 参数集合
				List<PageData> paramsList = new ArrayList<PageData>();
				// 第1个参数
				PageData params1 = new PageData();
				params1.put("name", "params1");// 存入短信模板中的参数名称
				params1.put("value", pd2.get("CHECK_NO"));// 存入上面参数名称所传递的值
				paramsList.add(params1);

				// 第2个参数
				PageData params2 = new PageData();
				params2.put("name", "params2");// 存入短信模板中的参数名称
				params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
				paramsList.add(params2);
				// 第3个参数
				PageData params3 = new PageData();
				params3.put("name", "params3");// 存入短信模板中的参数名称
				params3.put("value", "作业单位");// 存入上面参数名称所传递的值
				paramsList.add(params3);
				sendMessageUtil.sendMessages(mes, paramsList);
				break;
			case "-3"://用电单位审核
				log.put("ACTION", "用电单位打回");
				pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
				pd2.put("AUDIT_CONTENT",  pd.get("CONTENT"));
				GFelectricityService.edit(pd2);

				PageData mes1 = new PageData();
				mes1.put("RECEIVER_ID", pd2.get("APPLY_USER_ID"));// 收信人userid
				mes1.put("templateCode", "YD_N03");// 短信模板编码
				mes1.put("SMSCode", "SMS_223580715");// 短信模板编码
				mes1.put("CORPINFO_ID", pd2.get("CORPINFO_ID"));// 企业id
				// 参数集合
				List<PageData> paramsList1 = new ArrayList<PageData>();
				// 第1个参数
				PageData paramsa1 = new PageData();
				paramsa1.put("name", "params1");// 存入短信模板中的参数名称
				paramsa1.put("value", pd2.get("CHECK_NO"));// 存入上面参数名称所传递的值
				paramsList1.add(paramsa1);
				// 第2个参数
				PageData paramsa2 = new PageData();
				paramsa2.put("name", "params2");// 存入短信模板中的参数名称
				paramsa2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
				paramsList1.add(paramsa2);
				// 第3个参数
				PageData paramsa3 = new PageData();
				paramsa3.put("name", "params3");// 存入短信模板中的参数名称
				paramsa3.put("value", "用电单位");// 存入上面参数名称所传递的值
				paramsList1.add(paramsa3);
				sendMessageUtil.sendMessages(mes1, paramsList1);
				break;
			case "-4"://配送电单位打回
				log.put("ACTION", "配送电单位打回");
				pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
				pd2.put("APPROVE_CONTENT",  pd.get("CONTENT"));
				GFelectricityService.edit(pd2);

				// 发短信
				PageData mes2 = new PageData();
				mes2.put("RECEIVER_ID", pd2.get("APPLY_USER_ID"));// 收信人userid
				mes2.put("templateCode", "YD_N04");// 短信模板编码
				mes2.put("SMSCode", "SMS_223580715");// 短信模板编码
				mes2.put("CORPINFO_ID", pd2.get("CORPINFO_ID"));// 企业id
				// 参数集合
				List<PageData> paramsList2 = new ArrayList<PageData>();
				// 第1个参数
				PageData paramsb1 = new PageData();
				paramsb1.put("name", "params1");// 存入短信模板中的参数名称
				paramsb1.put("value", pd2.get("CHECK_NO"));// 存入上面参数名称所传递的值
				paramsList2.add(paramsb1);

				// 第2个参数
				PageData paramsb2 = new PageData();
				paramsb2.put("name", "params2");// 存入短信模板中的参数名称
				paramsb2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
				paramsList2.add(paramsb2);
				// 第3个参数
				PageData paramsb3 = new PageData();
				paramsb3.put("name", "params3");// 存入短信模板中的参数名称
				paramsb3.put("value", "配送电单位");// 存入上面参数名称所传递的值
				paramsList2.add(paramsb3);
				sendMessageUtil.sendMessages(mes2, paramsList2);
				break;
			case "-5"://验收打回
				log.put("ACTION", "验收人打回");
				pd2.put("APPLY_STATUS",  pd.get("APPLY_STATUS"));
				pd2.put("ACCEPT_CONTENT",  pd.get("CONTENT"));
				GFelectricityService.edit(pd2);

				PageData mes3 = new PageData();
				mes3.put("RECEIVER_ID", pd2.get("APPLY_USER_ID"));// 收信人userid
				mes3.put("templateCode", "YD_N05");// 短信模板编码
				mes3.put("SMSCode", "SMS_223580715");// 短信模板编码
				mes3.put("CORPINFO_ID", pd2.get("CORPINFO_ID"));// 企业id
				// 参数集合
				List<PageData> paramsList3 = new ArrayList<PageData>();
				// 第1个参数
				PageData paramsc1 = new PageData();
				paramsc1.put("name", "params1");// 存入短信模板中的参数名称
				paramsc1.put("value", pd2.get("CHECK_NO"));// 存入上面参数名称所传递的值
				paramsList3.add(paramsc1);

				// 第2个参数
				PageData paramsc2 = new PageData();
				paramsc2.put("name", "params2");// 存入短信模板中的参数名称
				paramsc2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
				paramsList3.add(paramsc2);
				// 第3个参数
				PageData paramsc3 = new PageData();
				paramsc3.put("name", "params3");// 存入短信模板中的参数名称
				paramsc3.put("value", "验收");// 存入上面参数名称所传递的值
				paramsList3.add(paramsc3);
				sendMessageUtil.sendMessages(mes3, paramsList3);
				break;
			default:
				break;
		}
		GFelectricityLogService.save(log);
		map.put("result", errInfo);
		return map;
	}
	/**列表
	 * @param page
	 * @throws Exception
	 */
	@RequestMapping(value="/jhlist")
	@ResponseBody
	public Object jhlist(Page page) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		String KEYWORDS = pd.getString("KEYWORDS");						//关键词检索条件
		if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
		page.setPd(pd);
		List<PageData>	varList = GFelectricityService.jhlist(page);	//列出confinedspace列表
		map.put("varList", varList);
		map.put("page", page);
		map.put("result", errInfo);
		return map;
	}
	/**列表
	 * @param page
	 * @throws Exception
	 */
	@RequestMapping(value="/aqlist")
	@ResponseBody
	public Object aqlist(Page page) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		String KEYWORDS = pd.getString("KEYWORDS");						//关键词检索条件
		if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
		page.setPd(pd);
		List<PageData>	varList = GFelectricityService.aqlist(page);	//列出confinedspace列表
		map.put("varList", varList);
		map.put("page", page);
		map.put("result", errInfo);
		return map;
	}
	/**列表
	 * @param page
	 * @throws Exception
	 */
	@RequestMapping(value="/jslist")
	@ResponseBody
	public Object jslist(Page page) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		String KEYWORDS = pd.getString("KEYWORDS");						//关键词检索条件
		if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
		page.setPd(pd);
		List<PageData>	varList = GFelectricityService.jslist(page);	//列出confinedspace列表
		map.put("varList", varList);
		map.put("page", page);
		map.put("result", errInfo);
		return map;
	}
	/**列表
	 * @param page
	 * @throws Exception
	 */
	@RequestMapping(value="/list")
	@ResponseBody
	public Object list(Page page) throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		String KEYWORDS = pd.getString("KEYWORDS");						//关键词检索条件
		if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
		page.setPd(pd);
		List<PageData>	varList = GFelectricityService.list(page);	//列出electricity列表
		map.put("varList", varList);
		map.put("page", page);
		map.put("result", errInfo);
		return map;
	}

	/**作废
	 * @paramout
	 * @throws Exception
	 */
	@PostMapping(value="/cancel")
	@ResponseBody
	public void cancel(@RequestBody PageData pd) throws Exception{
		Map<String,String> map = new HashMap<String,String>();
		String errInfo = "success";
		System.out.println(JSONObject.toJSONString(pd));
		PageData cpd = new PageData();
		cpd = GFelectricityService.findById(pd);
		if(cpd!=null && cpd.size()>0 && cpd.getString("ANALYZE_TIME") != null){
			String WORK_START_DATE = pd.getString("WORK_START_DATE");
			String ANALYZE_TIME = cpd.getString("ANALYZE_TIME");
			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
			System.out.println(WORK_START_DATE);
			System.out.println(ANALYZE_TIME);
			System.out.println("-------------123----------");
			try {
				Date date1 = format.parse(WORK_START_DATE);
				Date date2 = format.parse(ANALYZE_TIME);
				long workTime = date1.getTime();
				long analyzeTime = date2.getTime();
				System.out.println(workTime - analyzeTime);
				System.out.println(analyzeTime - workTime);
				if (workTime - analyzeTime >= 0) {
					return;
				} else {
					GFelectricityService.cancel(pd);
					PageData mes = new PageData();
					mes.put("RECEIVER_ID", pd.get("CONFIRM_USER_ID"));// 收信人userid
					mes.put("templateCode", "YD_ZF");// 短信模板编码
					mes.put("SMSCode", "SMS_462060039");// 短信模板编码
					mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
					// 参数集合
					List<PageData> paramsList = new ArrayList<PageData>();
					// 第1个参数
					PageData params1 = new PageData();
					params1.put("name", "number");// 存入短信模板中的参数名称
					params1.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
					paramsList.add(params1);
					// 第2个参数
					PageData params2 = new PageData();
					params2.put("name", "params1");// 存入短信模板中的参数名称
					params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
					paramsList.add(params2);
					sendMessageUtil.sendMessages(mes, paramsList);
				}
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}else{
			GFelectricityService.cancel(pd);
			PageData pd2 = new PageData();
			pd2 = GFelectricityService.checkno(pd);
			PageData pd3 = new PageData();
			pd3.put("CHECK_NO",pd2.getString("CHECK_NO"));
			pd3.put("CORPINFO_ID",pd.getString("CORPINFO_ID"));
			GFelectricityService.editSpecialwork(pd3);
			GFelectricityService.editSpecialwork1(pd3);
			GFelectricityService.editSpecialwork2(pd3);
			GFelectricityService.editSpecialwork3(pd3);
			GFelectricityService.editSpecialwork4(pd3);
			GFelectricityService.editSpecialwork5(pd3);
			GFelectricityService.editSpecialwork6(pd3);
			GFelectricityService.editSpecialwork7(pd3);
			PageData mes = new PageData();
			mes.put("RECEIVER_ID", pd.get("CONFIRM_USER_ID"));// 收信人userid
			mes.put("templateCode", "YD_ZF");// 短信模板编码
			mes.put("SMSCode", "SMS_462060039");// 短信模板编码
			mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
			// 参数集合
			List<PageData> paramsList = new ArrayList<PageData>();
			// 第1个参数
			PageData params1 = new PageData();
			params1.put("name", "number");// 存入短信模板中的参数名称
			params1.put("value", pd.get("CHECK_NO"));// 存入上面参数名称所传递的值
			paramsList.add(params1);
			// 第2个参数
			PageData params2 = new PageData();
			params2.put("name", "params1");// 存入短信模板中的参数名称
			params2.put("value", "临时用电安全作业");// 存入上面参数名称所传递的值
			paramsList.add(params2);
			sendMessageUtil.sendMessages(mes, paramsList);
		}
		map.put("result", errInfo);                //返回结果
		return ;
	}

	/**去修改页面获取数据
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/goEdit")
	@ResponseBody
	public Object goEdit() throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		pd = GFelectricityService.findById(pd);	//根据ID读取
		map.put("measuresList", GFelectricityService.listAllMeasures(pd));
		map.put("gasList", GFelectricityGasService.listAll(pd));
		map.put("imgList1",electricityacceptuserService.findById(pd));
		map.put("imgList",electricityacceptuserService.findByIds(pd));
		map.put("pd", pd);
		map.put("result", errInfo);
		return map;
	}

	/**去修改页面获取数据
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/gas/list")
	@ResponseBody
	public Object gasList() throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		List<PageData>	varList = GFelectricityGasService.listAll(pd);	//列出electricity列表
		map.put("varList", varList);
		map.put("result", errInfo);
		return map;
	}

	/**去修改页面获取数据
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/gas/delete")
	@ResponseBody
	public Object gasDel() throws Exception{
		Map<String,String> map = new HashMap<String,String>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		GFelectricityGasService.delete(pd);
		map.put("result", errInfo);				//返回结果
		return map;
	}

	/**去修改页面获取数据
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/gas/save")
	@ResponseBody
	public Object gasSave() throws Exception{
		Map<String,String> map = new HashMap<String,String>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		pd.put("ELECTRICITYGAS_ID", this.get32UUID());	//主键
		pd.put("ISDELETE", "0");	//是否删除 1-是  0-否
		GFelectricityGasService.save(pd);
		GFelectricityService.edittime(pd);
		map.put("result", errInfo);				//返回结果
		return map;
	}

	/**待办作业数统计
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/countCheck")
	@ResponseBody
	public Object countCheck() throws Exception{
		Map<String,Object> map = new HashMap<String,Object>();
		String errInfo = "success";
		PageData pd = new PageData();
		pd = this.getPageData();
		PageData count = GFelectricityService.countCheck(pd);
		map.put("result", errInfo);
		map.put("count", count);
		return map;
	}
}