/** * RDeviceOrderDetailDao.java 2010/09/06 */ package com.ycsoft.business.dao.resource.device; import java.util.List; import org.springframework.stereotype.Component; import com.ycsoft.beans.device.RDeviceOrderDetail; import com.ycsoft.daos.abstracts.BaseEntityDao; import com.ycsoft.daos.core.JDBCException; /** * RDeviceOrderDetailDao -> R_DEVICE_ORDER_DETAIL table's operator */ @Component public class RDeviceOrderDetailDao extends BaseEntityDao<RDeviceOrderDetail> { /** * */ private static final long serialVersionUID = -1000791955709133202L; /** * default empty constructor */ public RDeviceOrderDetailDao() { } /** * 更新订购的数量 * @param deviceDoneCode * @throws JDBCException */ public void updateSupplyNum(Integer orderDoneDode,Integer deviceDoneCode) throws JDBCException { String sql = "UPDATE r_device_order_detail t SET t.supply_num=decode(t.supply_num,null,0,t.supply_num)+( " + " SELECT decode(sum(d.count),null,0,sum(d.count)) FROM r_device_done_detail d WHERE " + " d.device_type=t.device_type AND d.device_model=t.device_model and d.device_done_code=?)" + " WHERE t.device_done_code=?"; executeUpdate(sql, deviceDoneCode,orderDoneDode); } public void updateMateralNum(Integer orderDoneDode,String deviceType,String deviceModel, Integer num) throws JDBCException { String sql = "UPDATE r_device_order_detail t SET t.supply_num=decode(t.supply_num,null,0,t.supply_num)+? WHERE " + " t.device_type =? AND t.device_model=? and t.device_done_code=?"; executeUpdate(sql, num,deviceType,deviceModel,orderDoneDode); } /** * 查询订购明细 * @param deviceDoneCode * @return * @throws JDBCException */ public List<RDeviceOrderDetail> queryByDoneCode(int deviceDoneCode) throws JDBCException { String sql = "SELECT * FROM r_device_order_detail t WHERE t.device_done_code=?"; return createQuery(sql, deviceDoneCode).list(); } /** * 删除订购明细 * @param doneCode * @throws JDBCException */ public void removeByDoneCode(Integer doneCode) throws JDBCException { String sql = "DELETE r_device_order_detail WHERE device_done_code=?"; executeUpdate(sql, doneCode); } public RDeviceOrderDetail queryMateralDeviceDetail(Integer orderDoneDode,String deviceType,String deviceModel) throws JDBCException { String sql = "SELECT * FROM r_device_order_detail t WHERE " + " t.device_type =? AND t.device_model=? and t.device_done_code=?"; return createQuery(sql,deviceType,deviceModel,orderDoneDode).first(); } }