/** * RDeviceEditDao.java 2010/11/15 */ package com.ycsoft.business.dao.resource.device; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Component; import com.ycsoft.beans.device.RDeviceEdit; import com.ycsoft.commons.constants.SystemConstants; import com.ycsoft.commons.helper.StringHelper; import com.ycsoft.daos.abstracts.BaseEntityDao; import com.ycsoft.daos.core.JDBCException; import com.ycsoft.daos.core.Pager; import com.ycsoft.sysmanager.dto.resource.DeviceDto; /** * RDeviceEditDao -> R_DEVICE_EDIT table's operator */ @Component public class RDeviceEditDao extends BaseEntityDao<RDeviceEdit> { /** * default empty constructor */ public RDeviceEditDao() {} public Pager<RDeviceEdit> queryByDepotIdAndEditType(String depotId, String editType, String query, Integer start, Integer limit) throws Exception { String sql = "select t.*,d.device_type,d.device_model,d.count" + " from r_device_edit t,r_device_done_detail d" + " where t.device_done_code=d.device_done_code(+) and t.depot_id=? and t.edit_type=?"; if(StringHelper.isNotEmpty(query)){ // sql += " and t." } sql += " order by t.create_time desc"; return this.createQuery(sql, depotId, editType).setStart(start).setLimit(limit).page(); } /** * 查询操作对应的设备明细 */ public Pager<DeviceDto> queryDeviceDetail(Integer deviceDoneCode, String deviceType, Integer start, Integer limit) throws Exception { String sql = ""; if(deviceType.equals(SystemConstants.DEVICE_TYPE_STB)){ sql = "select d.*,b.stb_id device_code,dpt.county_id" + " from r_device d,r_device_done_deviceid di,r_stb b,s_dept dpt"+ " where d.device_id=di.device_id and d.device_id=b.device_id and d.depot_id=dpt.dept_id"+ " and dpt.status='ACTIVE'" + " and di.device_done_code=?"; }else if(deviceType.equals(SystemConstants.DEVICE_TYPE_CARD)){ sql = "select d.*,b.card_id device_code,dpt.county_id" + " from r_device d,r_device_done_deviceid di,r_card b,s_dept dpt"+ " where d.device_id=di.device_id and d.device_id=b.device_id and d.depot_id=dpt.dept_id"+ " and dpt.status='ACTIVE'" + " and di.device_done_code=?"; }else if(deviceType.equals(SystemConstants.DEVICE_TYPE_MODEM)){ sql = "select d.*,b.modem_mac device_code,dpt.county_id" + " from r_device d,r_device_done_deviceid di,r_modem b,s_dept dpt"+ " where d.device_id=di.device_id and d.device_id=b.device_id and d.depot_id=dpt.dept_id"+ " and dpt.status='ACTIVE'" + " and di.device_done_code=?"; } return this.createQuery(DeviceDto.class, sql, deviceDoneCode).setStart( start).setLimit(limit).page(); } /** * @throws Exception * */ public void saveDeviceEdit(Integer doneCode,String optrId,String deviceIds ,String remark) throws Exception{ String sql="insert into r_device_edit "+ " select distinct ? ,depot_Id, 'DIFFENCE_TYPE_R_DEVICE'," + " ?,sysdate,?,'NODIFF','UNCHECK' from r_device where device_id in ("+deviceIds+")"; this.executeUpdate(sql, doneCode,optrId,remark); } }