package com.engine.kq.cmd.upgrade;

import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.kq.biz.KQOneStopUp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import weaver.conn.RecordSet;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.systeminfo.SystemEnv;

/**
 * 年假数据升级
 * @author pzy
 *
 */
public class DoUpgrade5Cmd extends AbstractCommonCommand<Map<String, Object>>{

	public DoUpgrade5Cmd(Map<String, Object> params, User user) {
		this.user = user;
		this.params = params;
	}

	@Override
	public BizLogContext getLogContext() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Map<String, Object> execute(CommandContext commandContext) {
		Map<String,Object> retmap = new HashMap<String,Object>();
    List<Object> items = new ArrayList<>();
    RecordSet rs = new RecordSet();
    RecordSet rs1 = new RecordSet();
		try {
      ResourceComInfo rci = new ResourceComInfo();
      SubCompanyComInfo sci = new SubCompanyComInfo();
      DepartmentComInfo dci = new DepartmentComInfo();
		  KQOneStopUp kqOneStopUp = new KQOneStopUp();
      kqOneStopUp.clearBalance("-6");
		  kqOneStopUp.upAnnual();

      Map<String,Object> annualmap = new HashMap<String,Object>();
      List<Object> annualList = new ArrayList<>();

		  String getAnnualSql = "select* from kq_BalanceOfLeave where leaverulesid = -6 ";
      rs.executeQuery(getAnnualSql);
      while (rs.next()){
        String resourceid = rs.getString("resourceid");
        String lastname = rci.getLastname(resourceid);
        String subname = sci.getSubCompanyname(rci.getSubCompanyID(resourceid));
        String deptname = dci.getDepartmentname(rci.getDepartmentID(resourceid));
        String extraamount = rs.getString("extraamount");
        String desc = lastname+" "+subname+" "+deptname+" "+extraamount;
        annualList.add(desc);
      }
      annualmap.put("label", SystemEnv.getHtmlLabelName(10000842,weaver.general.Util.getIntValue(user.getLanguage())));
      annualmap.put("status", "1");
      annualmap.put("results", annualList);
      items.add(annualmap);

      retmap.put("status", "1");
      retmap.put("items", items);
    } catch (Exception e) {
			writeLog(e);
      retmap.put("status", "-1");
      retmap.put("message",  SystemEnv.getHtmlLabelName(382661,user.getLanguage()));
		}
		return retmap;
	}

}
