package com.ycl.api.YS.playback.play; import com.ycl.api.YS.NetDemo; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_MONTH_INFO_S; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_MONTH_STATUS_S; import javax.swing.*; import java.util.Vector; /** * * @introduction Monthly Record * @description Support NVR */ public class QueryPlayBackRecordByMonth { /** * * @introduction Query the records for each month in a year * @description Calling the interface of NETDEV_QuickSearch * */ public static void queryPlayBackRecordByMonth() { NetDemo.RecordByMonthTableModel.setRowCount(0); if(null == NetDemo.lpUserID){ JOptionPane.showMessageDialog(null, "Please Login device first. error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0){ JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } NETDEV_MONTH_INFO_S pstMonthInfo=new NETDEV_MONTH_INFO_S(); NETDEV_MONTH_STATUS_S pstMonthStatus=new NETDEV_MONTH_STATUS_S(); int Month=1; switch (NetDemo.jComboBoxPlayRecordMonth.getItemAt(NetDemo.jComboBoxPlayRecordMonth.getSelectedIndex())) { case "January": Month = 1; break; case "February": Month = 2; break; case "March": Month = 3; break; case "April": Month = 4; break; case "May": Month = 5; break; case "June": Month = 6; break; case "July": Month = 7; break; case "August": Month = 8; break; case "September": Month = 9; break; case "October": Month = 10; break; case "November": Month = 11; break; case "December": Month = 12; break; default: break; } String year=NetDemo.jTextFieldPlayBackRecordByMonthISYear.getText(); int getYear=2020; if(year==null || year.equals("")) { JOptionPane.showMessageDialog(null, "Year is null"); return; } try { getYear=Integer.parseInt(year); }catch(Exception e) { JOptionPane.showMessageDialog(null, "Year transformation Exception"); NetDemo.jTextFieldPlayBackRecordByMonthISYear.setText(null); return; } if(getYear<1970) { JOptionPane.showMessageDialog(null, "Year can not less than 1970"); NetDemo.jTextFieldPlayBackRecordByMonthISYear.setText(null); return; } pstMonthInfo.udwYear=getYear; pstMonthInfo.udwMonth=Month; pstMonthInfo.write(); boolean bRet = NetDemo.netdevsdk.NETDEV_QuickSearch(NetDemo.lpUserID,NetDemo.ChannelID,pstMonthInfo,pstMonthStatus); if(bRet != true) { JOptionPane.showMessageDialog(null, "Get record failed. error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); NetDemo.RecordByMonthTableModel.setRowCount(0); System.out.printf("NETDEV_QuickSearch failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { pstMonthStatus.read(); for(int i=0;i data=new Vector<>(); data.add(getYear); data.add(Month); data.add(i+1); String type=null; if(pstMonthStatus.szVideoStatus[i]==0) { type="No Video"; }else if(pstMonthStatus.szVideoStatus[i]==1){ type="Event Video"; }else if(pstMonthStatus.szVideoStatus[i]==2){ type="Ordinary Video"; } data.add(type); NetDemo.RecordByMonthTableModel.insertRow(i, data); } } } /** * * @introduction Change the month to refresh data * @description * */ public static void ComboxQueryPlayBackRecordByMonth() { NetDemo.RecordByMonthTableModel.setRowCount(0); if(null == NetDemo.lpUserID || NetDemo.ChannelID == 0){ return; } NETDEV_MONTH_INFO_S pstMonthInfo=new NETDEV_MONTH_INFO_S(); NETDEV_MONTH_STATUS_S pstMonthStatus=new NETDEV_MONTH_STATUS_S(); int Month=1; switch (NetDemo.jComboBoxPlayRecordMonth.getItemAt(NetDemo.jComboBoxPlayRecordMonth.getSelectedIndex())) { case "January": Month = 1; break; case "February": Month = 2; break; case "March": Month = 3; break; case "April": Month = 4; break; case "May": Month = 5; break; case "June": Month = 6; break; case "July": Month = 7; break; case "August": Month = 8; break; case "September": Month = 9; break; case "October": Month = 10; break; case "November": Month = 11; break; case "December": Month = 12; break; default: break; } String year=NetDemo.jTextFieldPlayBackRecordByMonthISYear.getText(); int getYear=2020; if(year==null||year.equals("")) { JOptionPane.showMessageDialog(null, "Year is null"); return; } try { getYear=Integer.parseInt(year); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "Year transformation exception"); NetDemo.jTextFieldPlayBackRecordByMonthISYear.setText(null); return; } if(getYear<1970) { JOptionPane.showMessageDialog(null, "Year can not less than 1970"); NetDemo.jTextFieldPlayBackRecordByMonthISYear.setText(null); return; } pstMonthInfo.udwYear=getYear; pstMonthInfo.udwMonth=Month; pstMonthInfo.write(); boolean bRet = NetDemo.netdevsdk.NETDEV_QuickSearch(NetDemo.lpUserID,NetDemo.ChannelID,pstMonthInfo,pstMonthStatus); if(bRet != true) { JOptionPane.showMessageDialog(null, "Get record failed. error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_GetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { pstMonthStatus.read(); for(int i=0;i data=new Vector<>(); data.add(getYear); data.add(Month); data.add(i+1); String type=null; if(pstMonthStatus.szVideoStatus[i]==0) { type="No Video"; }else if(pstMonthStatus.szVideoStatus[i]==1){ type="Event Video"; }else if(pstMonthStatus.szVideoStatus[i]==2){ type="Ordinary Video"; } data.add(type); NetDemo.RecordByMonthTableModel.insertRow(i, data); } } } }