/**
 * 版权所有 ©2021 莱欧有限公司
 * 工程名：yearBooks
 * 文件名：ZzySgDao.java
 * 创建日期：2021年10月28日 上午10:57:47
 * 作者：mt.W
 */
package com.lion.dao;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import com.lion.entity.ZzySg;

import jodd.util.StringUtil;

/**
 * 类描述   种植业指标-水果类统计 Dao
 * @author mt.W
 * @since 2021年10月28日
 */
@Repository
public class ZzySgDao {

	@Autowired
	private JdbcTemplate jdbc;
	
	/**
	 * 
	 * 方法描述   查询记录
	 * @author mt.W
	 * @since 2021年10月28日
	 * @param start
	 * @param limit
	 * @param year
	 * @param orgid
	 * @return
	 */
	public List<Map<String, Object>> getRecordList(int start,int limit,String year,String orgid){
		String sql = "select z.*,o.name orgname,j.name typeName from zzy_sg z"
				+ " left join orgdept o on o.id = z.orgid "
				+ " left join zzy_jcsg j on z.typeId = j.id "
				+ " where z.orgid like '"+orgid+"%' ";
		if(StringUtil.isNotEmpty(year)){
			sql += " and z.year = '"+year+"' ";
		}
		sql += " order by z.year desc limit ?,?";
		return jdbc.queryForList(sql,new Object[]{start,limit});
	}
	/**
	 * 
	 * 方法描述     查询记录
	 * @author mt.W
	 * @since 2021年10月28日
	 * @param year
	 * @param orgid
	 * @return
	 */
	public List<Map<String, Object>> getRecordList(String year,String orgid){
		String sql = "select z.*,o.name orgname,j.name typeName from zzy_sg z"
				+ " left join orgdept o on o.id = z.orgid "
				+ " left join zzy_jcsg j on z.typeId = j.id "
				+ " where z.orgid like '"+orgid+"%' ";
		if(StringUtil.isNotEmpty(year)){
			sql += " and z.year = '"+year+"' ";
		}
		sql += " order by z.year desc ";
		return jdbc.queryForList(sql);
	}
	/**
	 * 
	 * 方法描述   查询记录数
	 * @author mt.W
	 * @since 2021年10月28日
	 * @param year
	 * @param orgid
	 * @return
	 */
	public int getRecordCount(String year,String orgid){
		String sql = "select count(id) from zzy_sg where orgid like '"+orgid+"%' ";
		if(StringUtil.isNotEmpty(year)){
			sql += " and year = '"+year+"' ";
		}
		return jdbc.queryForObject(sql, Integer.class);
	}
	/**
	 * 
	 * 方法描述  新增记录
	 * @author mt.W
	 * @since 2021年10月28日
	 * @param z
	 * @return
	 */
	public int addRecord(ZzySg z){
		String sql = "insert into zzy_sg(orgid,year,typeId,bzmj,zcl,createTime,createUser) values(?,?,?,?,?,?,?)";
		return jdbc.update(sql,new Object[]{z.getOrgid(),z.getYear(),z.getTypeId(),z.getBzmj(),z.getZcl(),z.getCreateTime(),z.getCreateUser()});
	}
	/**
	 * 
	 * 方法描述   修改记录
	 * @author mt.W
	 * @since 2021年10月28日
	 * @param z
	 * @return
	 */
	public int editRecord(ZzySg z){
		String sql = "update zzy_sg set year=?,typeId=?,bzmj=?,zcl=?,updateTime=?,updateUser=? where id=?";
		return jdbc.update(sql,new Object[]{z.getYear(),z.getTypeId(),z.getBzmj(),z.getZcl(),z.getUpdateTime(),z.getUpdateUser(),z.getId()});
	}
	/**
	 * 
	 * 方法描述    删除记录
	 * @author mt.W  
	 * @since 2021年10月28日
	 * @param id
	 * @return
	 */
	public int deleteRecord(String id){
		String sql = "delete from zzy_sg where id = ?  ";
		return jdbc.update(sql,new Object[]{id});
	}
	/**
	 * 
	 * 方法描述  校验是否有重复数据
	 * @author mt.W
	 * @since 2021年10月28日
	 * @param z
	 * @return
	 */
	public int checkDataIsExist(ZzySg z){
		String sql = "select count(id) from zzy_sg where typeId = ? and orgid = ? and year =? ";
		if(StringUtil.isNotEmpty(z.getId())){
			sql += " and id != '"+z.getId()+"' ";
		}
		return jdbc.queryForObject(sql,new Object[]{z.getTypeId(),z.getOrgid(),z.getYear()}, Integer.class);
	}
	public List<Map<String,Object>> getSumHj(String year,String orgid){
		String sql = "select sum(bzmj)bzmj,sum(zcl) zcl from zzy_sg where year = ? and orgid like '"+orgid+"%'  ";
		return jdbc.queryForList(sql,new Object[]{year});
	}
}
