/** * CDoneCodeDao.java 2010/03/16 */ package com.ycsoft.business.dao.core.common; import java.util.Date; import java.util.List; import org.springframework.stereotype.Component; import com.ycsoft.beans.core.common.CDoneCodeInfo; import com.ycsoft.beans.core.print.CDoc; import com.ycsoft.commons.constants.BusiCodeConstants; import com.ycsoft.commons.constants.StatusConstants; import com.ycsoft.commons.constants.SystemConstants; import com.ycsoft.daos.abstracts.BaseEntityDao; import com.ycsoft.daos.core.JDBCException; /** * CDoneCodeInfoDao -> C_DONE_CODE_INFO table's operator */ @Component public class CDoneCodeInfoDao extends BaseEntityDao<CDoneCodeInfo> { private static final long serialVersionUID = 142913821221838946L; /** * default empty constructor */ public CDoneCodeInfoDao() { } public void updateLastPrintByDoneCode(Integer doneCode,Date lastPrint) throws JDBCException { String sql = "update c_done_code_info t set t.last_print=? where done_code=?"; this.executeUpdate(sql, lastPrint, doneCode); } public List<CDoneCodeInfo> queryPrintConfig(String[] doneCodes) throws JDBCException { String sql = "SELECT * FROM c_done_code_info t,c_done_code d " + " WHERE d.done_code=t.done_code AND d.status=? AND d.done_code in (" + getSqlGenerator().in(doneCodes) + ") ORDER BY D.DONE_CODE "; return createQuery(sql,StatusConstants.ACTIVE).list(); } /** * 查询客户的单据 * * @param custId * @param countyId * @return */ public List<CDoneCodeInfo> queryDocByCustId(String custId, String countyId) throws JDBCException { String sql = " SELECT distinct d.*,i.last_print FROM c_done_code d,c_done_code_detail dd,c_done_code_info i " + " WHERE dd.done_code=d.done_code AND d.done_code=i.done_code " + " AND d.county_id=? AND dd.cust_id=? AND d.status=?" + " order by d.done_code desc"; return createQuery(sql, countyId, custId, StatusConstants.ACTIVE) .list(); } /** * 查询业务受理单. * @param custId * @param countyId * @return * @throws JDBCException */ public List<CDoc> queryBusiConfirmDocByCustId(String custId, String countyId) throws JDBCException { String sql = "select distinct c.busi_code,doc.done_code,doc.doc_sn,"+ " doc.optr_id,i.last_print create_time " + " from c_doc doc,c_doc_item di,busi.c_done_code c ,c_done_code_info i " + " where doc.doc_sn=di.doc_sn and i.done_code= c.done_code and c.done_code = di.docitem_sn and doc.cust_id=? and doc.county_id=?" + " and doc.busi_code=? and doc.doc_type=? order by doc.done_code desc "; return createQuery(CDoc.class, sql, custId,countyId, BusiCodeConstants.SERVICE_PRINT, SystemConstants.DOC_TYPE_SERVICE).list(); } /** * 查询客户下未打印的确认单 * * @param custId * @return * @throws JDBCException */ public List<CDoneCodeInfo> queryUnPrintConfig(String countyId, String custId) throws JDBCException { String sql = " SELECT d.*,i.* FROM c_done_code d,c_done_code_detail dd,c_done_code_info i " + " WHERE dd.done_code=d.done_code AND d.done_code=i.done_code AND i.last_print is null " + " AND d.done_date BETWEEN to_date(to_char(SYSDATE,'yyyymmdd'),'yyyymmdd') " + " AND to_date(to_char(SYSDATE,'yyyymmdd')||'23:59:59','yyyymmdd hh24:mi:ss')" + " AND d.county_id=? AND dd.cust_id=? AND d.status=?" + " order by d.done_code"; return createQuery(sql, countyId, custId, StatusConstants.ACTIVE) .list(); } /** * 查询客户的单据 * * @param custId * @param countyId * @return */ public List<CDoc> queryDocByDocSn(String docSn) throws JDBCException { String sql = "select distinct doc.done_code,doc.doc_sn,doc.optr_id,doc.create_time "+ " from c_doc doc where doc.doc_sn=? "; return createQuery(CDoc.class, sql, docSn).list(); } }