/**
 * 版权所有 ©2021 莱欧有限公司
 * 工程名：yearBooks
 * 文件名：NyzbnjzlDao.java
 * 创建日期：2021年10月25日 上午8:50:36
 * 作者：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.Nyzbnjzl;

import jodd.util.StringUtil;

/**
 * 类描述   农业技术装备-农业机械年末拥有量Dao
 * @author mt.W
 * @since 2021年10月25日
 */
@Repository
public class NyzbnjzlDao {

	@Autowired
	private JdbcTemplate jdbc;
	
	/**
	 * 
	 * 方法描述  查询农业机械拥有量记录
	 * @author mt.W
	 * @since 2021年10月25日
	 * @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 n.*,o.name orgname from nyzb_njzl n left join orgdept o on o.id = n.orgid where orgid like '"+orgid+"%' ";
		if(StringUtil.isNotEmpty(year)){
			sql += " and n.year = '"+year+"' ";
		}
		sql += " order by year desc limit ?,? ";
		return jdbc.queryForList(sql,new Object[]{start,limit});
	}
	/**
	 * 
	 * 方法描述  查询农业机械拥有量记录
	 * @author mt.W
	 * @since 2021年10月25日
	 * @param start
	 * @param limit
	 * @param year
	 * @param orgid
	 * @return
	 */
	public List<Map<String,Object>> getRecordList(String year,String orgid){
		String sql = "select n.*,o.name orgname from nyzb_njzl n left join orgdept o on o.id = n.orgid where orgid like '"+orgid+"%' ";
		if(StringUtil.isNotEmpty(year)){
			sql += " and n.year = '"+year+"' ";
		}
		return jdbc.queryForList(sql);
	}
	/**
	 * 
	 * 方法描述  查询农业机械拥有量记录数
	 * @author mt.W
	 * @since 2021年10月25日
	 * @param year
	 * @param orgid
	 * @return
	 */
	public int getRecordCount(String year,String orgid){
		String sql = "select count(id) from nyzb_njzl where orgid like '"+orgid+"%' ";
		if(StringUtil.isNotEmpty(year)){
			sql += " and year = '"+year+"' ";
		}
		return jdbc.queryForObject(sql, Integer.class);
	}
	/**
	 * 
	 * 方法描述   新增农业机械拥有量记录
	 * @author mt.W
	 * @since 2021年10月25日
	 * @param n
	 * @return
	 */
	public int addRecord(Nyzbnjzl n){
		String sql = "insert into nyzb_njzl(year,orgid,gzj,wgj,sb,jsggjx,jgfshtj,zbwrj,gwlhsgj,jdtlj,zyj,trj,createTime,createUser) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
		return jdbc.update(sql,new Object[]{n.getYear(),n.getOrgid(),n.getGzj(),n.getWgj(),n.getSb(),n.getJsggjx(),n.getJgfshtj(),n.getZbwrj(),n.getGwlhsgj(),n.getJdtlj(),n.getZyj(),n.getTrj(),n.getCreateTime(),n.getCreateUser()});
	}
	/**
	 * 
	 * 方法描述   修改农业机械拥有量记录
	 * @author mt.W
	 * @since 2021年10月25日
	 * @param n
	 * @return
	 */
	public int editRecord(Nyzbnjzl n){
		String sql = "update nyzb_njzl set year = ?,gzj=?,wgj=?,sb=?,jsggjx=?,jgfshtj=?,zbwrj=?,gwlhsgj=?,jdtlj=?,zyj=?,trj=?,updateTime=?,updateUser=? where id = ? ";
		return jdbc.update(sql,new Object[]{n.getYear(),n.getGzj(),n.getWgj(),n.getSb(),n.getJsggjx(),n.getJgfshtj(),n.getZbwrj(),n.getGwlhsgj(),n.getJdtlj(),n.getZyj(),n.getTrj(),n.getUpdateTime(),n.getUpdateUser(),n.getId()});
	}
	/**
	 * 
	 * 方法描述  删除农业机械拥有量记录
	 * @author mt.W
	 * @since 2021年10月25日
	 * @param id
	 * @return
	 */
	public int deleteRecord(String id){
		String sql = "delete from nyzb_njzl where id = ? ";
		return jdbc.update(sql,new Object[]{id});
	}
	/**
	 * 
	 * 方法描述  校验部门年度农业机械拥有量记录是否有存在
	 * @author mt.W
	 * @since 2021年10月25日
	 * @param z
	 * @return
	 */
	public int checkIfExistByYearAndOrg(Nyzbnjzl z){
		String sql="select count(id) from nyzb_njzl where year=? and orgid=?";
		if(StringUtil.isNotEmpty(z.getId())){
			sql+=" and id<>"+z.getId();
		}
		return jdbc.queryForObject(sql,new Object[]{z.getYear(),z.getOrgid()}, Integer.class);
	}
}
