package cn.timer.api.utils.router.business;

import java.text.ParseException;

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

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import cn.timer.api.controller.yggl.service.YgglService;
import cn.timer.api.dto.spmk.FromData;
import cn.timer.api.dto.yggl.YgzzDto;
import cn.timer.api.utils.DateFormatUtils;
import lombok.Builder;

/**
 * 转正-业务
 * @author Tang
 *
 */
@Builder
public class RegularizationBusiness extends SpmkAssoBusiness {

	@Autowired
	private YgglService ygglService;
	
	@Override
	public void handleApprove(JSONObject jsonObj) throws Exception {
		// TODO Auto-generated method stub
		// 发起人企业id
//		String orgCode = jsonObj.get("orgCode",FromData.class).getValue();
		// 发起人名称
//		String initiator = jsonObj.get("initiator",FromData.class).getValue();
		
		// 申请人名称
		String applicant = ObjectUtil.isNull(jsonObj.get("__applicant",FromData.class)) ? null : jsonObj.get("__applicant",FromData.class).getValue();
		
		// 试用期内主要工作和成绩
//		String WorkAndAchievement = jsonObj.get("WorkAndAchievement",FromData.class).getValue();
		// 存在问题及改进意见
//		String problem = jsonObj.get("problem",FromData.class).getValue();
		// 上传文件
//		String file = jsonObj.get("file",FromData.class).getValue();
		
		
		
		// 发起人id
		Integer id = ObjectUtil.isNull(jsonObj.get("id",FromData.class)) ? null : Integer.parseInt(jsonObj.get("id",FromData.class).getValue());
		// 计划转正时间
		String confirmationTime = ObjectUtil.isNull(jsonObj.get("confirmationTime",FromData.class)) ? null : jsonObj.get("confirmationTime",FromData.class).getValue();
		// 实际转正时间
		String newConfirmationTime = ObjectUtil.isNull(jsonObj.get("__newConfirmationTime",FromData.class)) ? null : jsonObj.get("__newConfirmationTime",FromData.class).getValue();
		// 备注
		String Remarks = ObjectUtil.isNull(jsonObj.get("Remarks",FromData.class)) ? null : jsonObj.get("Remarks",FromData.class).getValue();
		
		YgzzDto ygzzDto = YgzzDto.builder()
				.empNum(id)
				.zzTime(DateFormatUtils.getDateByString(confirmationTime))
				.sjzzTime(DateFormatUtils.getDateByString(newConfirmationTime))
				.zzRemark(Remarks)
				.build();
		
		// 调 员工管理 业务
		ygglService.applicationRegularization(ygzzDto);
	}

}