Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.39 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package server.rmi;
  7.  
  8. import static java.lang.Integer.max;
  9. import static java.lang.Integer.parseInt;
  10. import java.net.MalformedURLException;
  11. import java.rmi.Naming;
  12. import java.rmi.NotBoundException;
  13. import java.rmi.RemoteException;
  14. import java.rmi.server.UnicastRemoteObject;
  15. import java.sql.Connection;
  16. import java.sql.PreparedStatement;
  17. import java.sql.ResultSet;
  18. import java.sql.SQLException;
  19. import java.sql.Statement;
  20. import java.util.ArrayList;
  21. import java.util.concurrent.ThreadLocalRandom;
  22. import java.util.logging.Level;
  23. import java.util.logging.Logger;
  24. import javax.swing.JOptionPane;
  25. import model.DiaChi;
  26. import model.DonHangOffline;
  27. import model.DonHangOnline;
  28. import model.GiamGia;
  29. import model.KhachHang;
  30. import model.NhanVien;
  31. import model.OfflineStatistic;
  32. import model.OnlineStatistic;
  33. import model.SanPham;
  34. import model.TheTinDung;
  35.  
  36. /**
  37. *
  38. * @author TUANTHANH
  39. */
  40. public class ServerCtrImpl extends UnicastRemoteObject implements ServerCtr{
  41. private Connection conn;
  42. public ServerCtrImpl() throws RemoteException{
  43. try {
  44. conn = new DatabaseController().initConection();
  45. } catch (ClassNotFoundException ex) {
  46. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  47. } catch (SQLException ex) {
  48. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  49. }
  50. }
  51.  
  52. @Override
  53. public NhanVien kiemtraNhanVien(NhanVien nv) throws RemoteException {
  54. try {
  55. PreparedStatement ps = conn.prepareStatement("SELECT [luong]\n" +
  56. " ,[tendn]\n" +
  57. " ,[ChiNhanhID]\n" +
  58. " ,[ChucvuID]\n" +
  59. " ,[ID]\n" +
  60. " ,[ten]\n" +
  61. " ,[ngaysinh]\n" +
  62. " ,[matkhau]\n" +
  63. " ,[chucvu]\n" +
  64. " ,[trangthai]\n" +
  65. " FROM [httql].[dbo].[Nhanvien]\n" +
  66. " WHERE tendn = ? AND matkhau = ?");
  67. ps.setString(1, nv.getTendn());
  68. ps.setString(2, nv.getMatkhau());
  69. ResultSet rs = ps.executeQuery();
  70. while(rs.next())
  71. {
  72. nv.setId(rs.getInt("ID"));
  73. return nv;
  74. }
  75.  
  76.  
  77. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  78. } catch (SQLException ex) {
  79. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  80. }
  81. return null;
  82. }
  83.  
  84. @Override
  85. public ArrayList<SanPham> timkiemSanPham(String s, int code) throws RemoteException {
  86. ArrayList<SanPham> lsp = new ArrayList<>();
  87. try {
  88. PreparedStatement ps = conn.prepareStatement( "SELECT [httql].[dbo].[Sanpham].[ID]\n" +
  89. " ,[tensp]\n" +
  90. " ,[gia]\n" +
  91. " ,[mota]\n" +
  92. " ,[ChiNhanhID]\n" +
  93. " ,[NhaCungCapID]\n" +
  94. " ,[DanhmucID]\n" +
  95. " ,[trangthai]\n" +
  96. " ,[nhacc]\n" +
  97. " ,[danhmuc]\n" +
  98. " FROM [httql].[dbo].[Sanpham] WHERE [httql].[dbo].[Sanpham].[trangthai] <> 'bixoa';" );
  99. ResultSet rs = ps.executeQuery();
  100. while(rs.next())
  101. {
  102. if(code == 0)
  103. {
  104. if(rs.getString("tensp").equalsIgnoreCase(s))
  105. {
  106. SanPham b = new SanPham();
  107. b.setId(rs.getInt("ID"));
  108. b.setTen(rs.getString("tensp"));
  109. b.setGia(rs.getInt("gia"));
  110.  
  111.  
  112. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  113. lsp.add(b);
  114. }
  115. }else if(code == 1)
  116. {
  117. System.out.println(rs.getString("tensp"));
  118. System.out.println(rs.getString("tensp").indexOf(s));
  119. if(rs.getString("tensp").indexOf(s) >= 0)
  120. {
  121. SanPham b = new SanPham();
  122. b.setId(rs.getInt("ID"));
  123. b.setTen(rs.getString("tensp"));
  124. b.setGia(rs.getInt("gia"));
  125.  
  126. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  127. lsp.add(b);
  128. }
  129. }
  130. }
  131. } catch (SQLException ex) {
  132. Logger.getLogger(DatabaseController.class.getName()).log(Level.SEVERE, null, ex);
  133. }
  134. return lsp;
  135. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  136. }
  137.  
  138. @Override
  139. public int searchMaGiamGia(int ma) throws RemoteException {
  140. try{
  141. PreparedStatement ps = conn.prepareStatement("SELECT [ID]\n" +
  142. " ,[giamgia]\n" +
  143. " ,[trangthai]\n" +
  144. " FROM [httql].[dbo].[MaGiamGia]\n" +
  145. " WHERE [ID] = ? AND [trangthai] <> 'bixoa'");
  146. ps.setInt(1, ma);
  147. ResultSet rs = ps.executeQuery();
  148. if(rs.next())
  149. {
  150. return rs.getInt("giamgia");
  151. }
  152. return 0;
  153. }catch(Exception e){}
  154. return 0;
  155. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  156. }
  157. public int checkIDdonhang(int id)
  158. {
  159. try {
  160. String sql = "SELECT [ID]\n" +
  161. " ,[ngaydathang]\n" +
  162. " ,[ChiNhanhID]\n" +
  163. " ,[MaGiamGiaID]\n" +
  164. " FROM [httql].[dbo].[DonHang]\n" +
  165. " WHERE [ID] = ?";
  166. PreparedStatement ps = conn.prepareStatement(sql);
  167. ps.setInt(1, id);
  168. ResultSet rs = ps.executeQuery();
  169. if(rs.next())
  170. {
  171. return 0;
  172. }
  173. return 1;
  174. } catch (SQLException ex) {
  175. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  176. }
  177. return 0;
  178. }
  179. @Override
  180. public void thanhtoan(DonHangOffline dh) throws RemoteException {
  181. try {
  182. int id = 4;
  183. PreparedStatement ps = conn.prepareStatement("INSERT INTO [dbo].[DonHang]\n" +
  184. " ([ngaydathang]\n" +
  185. " ,[ChiNhanhID]\n" +
  186. " ,[MaGiamGiaID])\n" +
  187. " VALUES\n" +
  188. " (?, ?, ?)", Statement.RETURN_GENERATED_KEYS);
  189. ps.setString(1, dh.getNgay());
  190. ps.setInt(2, dh.getNv().getMachinhanh());
  191. ps.setInt(3, dh.getMagiamgia());
  192. ps.executeUpdate();
  193. //JOptionPane.showMessageDialog(null, "truoc khi update");
  194. ResultSet rs = ps.getGeneratedKeys();
  195. if(rs.next())
  196. {
  197. id = rs.getInt(1);
  198. System.out.println("Khoa chinh la " + id);
  199. }
  200. // JOptionPane.showMessageDialog(null, "sau khi update");
  201. ps = conn.prepareStatement("INSERT INTO [dbo].[DonHangOffline]\n" +
  202. " ([DonHangID]\n" +
  203. " ,[NhanvienID])\n" +
  204. " VALUES\n" +
  205. " (?, ?)");
  206. ps.setInt(1, id);
  207. ps.setInt(2, dh.getNv().getId());
  208. ps.executeUpdate();
  209. ArrayList<SanPham> lsp = dh.getLsp();
  210. for(int i = 1; i <= lsp.size(); i ++)
  211. {
  212. ps = conn.prepareStatement("INSERT INTO [dbo].[ChiTietDonHang]\n" +
  213. " ([STT]\n" +
  214. " ,[soluong]\n" +
  215. " ,[SanphamID]\n" +
  216. " ,[DonHangID])\n" +
  217. " VALUES\n" +
  218. " (?, ?, ?, ?)");
  219. ps.setInt(1, i);
  220. ps.setInt(2, lsp.get(i - 1).getSoluong());
  221. ps.setInt(3, lsp.get(i - 1).getId());
  222. ps.setInt(4, id);
  223. ps.executeUpdate();
  224. }
  225. //throw new UnsupportedOpera tionException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  226. } catch (SQLException ex) {
  227. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  228. }
  229. }
  230.  
  231. @Override
  232. public KhachHang kiemtraKhachHang(KhachHang a) throws RemoteException {
  233. try {
  234. PreparedStatement ps = conn.prepareStatement( "SELECT * FROM KhachHang WHERE TaiKhoantendn = ? AND matkhau = ?" );
  235. ps.setString(1, a.getTendn());
  236. ps.setString(2, a.getMatkhau());
  237. ResultSet rs = ps.executeQuery() ;
  238. int dem = 0;
  239. while(rs.next())
  240. {
  241. return a;
  242. }
  243. } catch (SQLException ex) {
  244. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  245. }
  246. return null;
  247. }
  248. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  249.  
  250. @Override
  251. public KhachHang capnhatKhachHang(KhachHang a) throws RemoteException {
  252. try {
  253. PreparedStatement ps = conn.prepareStatement("UPDATE [dbo].[KhachHang]\n" +
  254. " SET [TaiKhoantendn] = ?\n" +
  255. " ,[matkhau] = ?\n" +
  256. " WHERE [TaiKhoantendn] = ?");
  257. ps.setString(1, a.getTendn());
  258. ps.setString(2, a.getMatkhau());
  259. ps.setString(3, a.getTendn());
  260. ps.executeUpdate();
  261. return a;
  262. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  263. } catch (SQLException ex) {
  264. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  265. return null;
  266. }
  267. }
  268.  
  269. @Override
  270. public ArrayList<SanPham> khachhangTimKiem(String s, int code) throws RemoteException {
  271. ArrayList<SanPham> lsp = new ArrayList<>();
  272. try {
  273. PreparedStatement ps = conn.prepareStatement( "SELECT [ID]\n" +
  274. " ,[tensp]\n" +
  275. " ,[gia]\n" +
  276. " ,[mota]\n" +
  277. " ,[ChiNhanhID]\n" +
  278. " ,[NhaCungCapID]\n" +
  279. " ,[DanhmucID]\n" +
  280. " ,[trangthai]\n" +
  281. " ,[nhacc]\n" +
  282. " ,[danhmuc]\n" +
  283. " FROM [httql].[dbo].[Sanpham] WHERE [trangthai] <> 'bixoa';" );
  284. ResultSet rs = ps.executeQuery();
  285. while(rs.next())
  286. {
  287. if(code == 0)
  288. {
  289. if(rs.getString("tensp").equalsIgnoreCase(s))
  290. {
  291. SanPham b = new SanPham();
  292. b.setId(rs.getInt("ID"));
  293. b.setTen(rs.getString("tensp"));
  294. b.setGia(rs.getInt("gia"));
  295. if(rs.getInt("ChiNhanhID") == 1)
  296. {
  297. b.setChinhanh("Hà Đông");
  298.  
  299. }else if(rs.getInt("ChiNhanhID") == 2)
  300. {
  301. b.setChinhanh("Thanh Xuân");
  302. }else
  303. {
  304. b.setChinhanh("Cầu Giấy");
  305. }
  306.  
  307. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  308. lsp.add(b);
  309. }
  310. }else if(code == 1)
  311. {
  312. System.out.println(rs.getString("tensp"));
  313. System.out.println(rs.getString("tensp").indexOf(s));
  314. if(rs.getString("tensp").indexOf(s) >= 0)
  315. {
  316. SanPham b = new SanPham();
  317. b.setId(rs.getInt("ID"));
  318. b.setTen(rs.getString("tensp"));
  319. b.setGia(rs.getInt("gia"));
  320. if(rs.getInt("ChiNhanhID") == 1)
  321. {
  322. b.setChinhanh("Hà Đông");
  323.  
  324. }else if(rs.getInt("ChiNhanhID") == 2)
  325. {
  326. b.setChinhanh("Thanh Xuân");
  327. }else
  328. {
  329. b.setChinhanh("Cầu Giấy");
  330. }
  331. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  332. lsp.add(b);
  333. }
  334. }
  335. }
  336. } catch (SQLException ex) {
  337. Logger.getLogger(DatabaseController.class.getName()).log(Level.SEVERE, null, ex);
  338. }
  339. return lsp;
  340. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  341. }
  342.  
  343. @Override
  344. public void thanhtoan(DonHangOnline dh) throws RemoteException {
  345. throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  346. }
  347.  
  348. @Override
  349. public KhachHang dangki(KhachHang a) throws RemoteException {
  350. try{
  351. PreparedStatement ps = conn.prepareStatement("INSERT INTO [dbo].[KhachHang]\n" +
  352. " (\n" +
  353. " [TaiKhoantendn]\n" +
  354. " ,[matkhau])\n" +
  355. " VALUES\n" +
  356. " (?, ?)");
  357. ps.setString(1, a.getTendn());
  358. ps.setString(2, a.getMatkhau());
  359. ps.executeUpdate();
  360. return a;
  361. }catch(Exception e)
  362. {
  363. return null;
  364. }
  365. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  366. }
  367. public int addDonHangOnline(DonHangOnline dh)
  368. {
  369. int id = 4;
  370. try {
  371. PreparedStatement ps = conn.prepareStatement("INSERT INTO [httql].[dbo].[DonHang]\n" +
  372. " ([ngaydathang]\n" +
  373. " ,[ChiNhanhID]\n" +
  374. " ,[MaGiamGiaID])\n" +
  375. " VALUES\n" +
  376. " (?, ?, ?)", Statement.RETURN_GENERATED_KEYS);
  377. ps.setString(1, dh.getDate());
  378. ps.setInt(2, dh.getIdcn());
  379. ps.setInt(3, dh.getIdgiamgia());
  380. ps.executeUpdate();
  381. //JOptionPane.showMessageDialog(null, "truoc khi update");
  382. ResultSet rs = ps.getGeneratedKeys();
  383. //System.out.println(rs.getInt(id));
  384. if(rs.next())
  385. {
  386. id = (int) rs.getLong(1);
  387. System.out.println("Khoa chinh la " + id);
  388. }
  389. // JOptionPane.showMessageDialog(null, "sau khi update");
  390. ps = conn.prepareStatement("INSERT INTO [httql].[dbo].[DonHangOnline]\n" +
  391. " ([KhachHangTaiKhoantendn]\n" +
  392. " ,[diachi]\n" +
  393. " ,[DonHangID])\n" +
  394. " VALUES\n" +
  395. " (?, ?, ?)");
  396. ps.setString(1, dh.getKh().getTendn());
  397. ps.setString(2, dh.getDiachi());
  398. ps.setInt(3, id);
  399. ps.executeUpdate();
  400. ArrayList<SanPham> lsp = dh.getLsp();
  401. for(int i = 1; i <= lsp.size(); i ++)
  402. {
  403. ps = conn.prepareStatement("INSERT INTO [httql].[dbo].[ChiTietDonHang]\n" +
  404. " ([STT]\n" +
  405. " ,[soluong]\n" +
  406. " ,[SanphamID]\n" +
  407. " ,[DonHangID])\n" +
  408. " VALUES\n" +
  409. " (?, ?, ?, ?)");
  410. ps.setInt(1, i);
  411. ps.setInt(2, lsp.get(i - 1).getSoluong());
  412. ps.setInt(3, lsp.get(i - 1).getId());
  413. ps.setInt(4, id);
  414. ps.executeUpdate();
  415. }
  416. return 1;
  417. } catch (SQLException ex) {
  418. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  419. }
  420. return 0;
  421. }
  422.  
  423. @Override
  424. public int thanhtoanOnline(ArrayList<DonHangOnline> dho) throws RemoteException {
  425. int id = 4;
  426. for(DonHangOnline dh: dho)
  427. {
  428. int res = addDonHangOnline(dh);
  429. if(res == 0)
  430. return 0;
  431. }
  432. return 1;
  433. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  434. }
  435.  
  436. @Override
  437. public ArrayList<SanPham> themSanPham(SanPham sp) throws RemoteException {
  438. ArrayList<SanPham> lsp = new ArrayList<>();
  439. try {
  440. PreparedStatement ps = conn.prepareStatement("INSERT INTO [dbo].[Sanpham]\n" +
  441. " ([tensp]\n" +
  442. " ,[gia]\n" +
  443. " ,[ChiNhanhID]\n" +
  444. " ,[trangthai]\n" +
  445. " )\n" +
  446. " VALUES\n" +
  447. " (?, ?, ?, ?)");
  448. ps.setString(1, sp.getTen());
  449. ps.setInt(2, sp.getGia());
  450. ps.setInt(3, sp.getIdchinhanh());
  451. ps.setString(4, "tontai");
  452. ps.executeUpdate();
  453.  
  454. ps = conn.prepareStatement( "SELECT [httql].[dbo].[Sanpham].[ID]\n" +
  455. " ,[tensp]\n" +
  456. " ,[gia]\n" +
  457. " ,[mota]\n" +
  458. " ,[ChiNhanhID]\n" +
  459. " ,[NhaCungCapID]\n" +
  460. " ,[DanhmucID]\n" +
  461. " ,[trangthai]\n" +
  462. " ,[nhacc]\n" +
  463. " ,[danhmuc]\n" +
  464. " FROM [httql].[dbo].[Sanpham] WHERE [httql].[dbo].[Sanpham].[trangthai] <> 'bixoa';" );
  465. ResultSet rs = ps.executeQuery();
  466. while(rs.next())
  467. {
  468.  
  469. SanPham b = new SanPham();
  470. b.setId(rs.getInt("ID"));
  471. b.setTen(rs.getString("tensp"));
  472. b.setGia(rs.getInt("gia"));
  473.  
  474.  
  475. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  476. lsp.add(b);
  477.  
  478. }
  479. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  480. } catch (SQLException ex) {
  481. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  482. }
  483. return lsp;
  484. }
  485.  
  486. @Override
  487. public ArrayList<SanPham> suaSanPham(SanPham sp) throws RemoteException {
  488. ArrayList<SanPham> lsp = new ArrayList<>();
  489. try{
  490. PreparedStatement ps = conn.prepareStatement("UPDATE [dbo].[Sanpham]\n" +
  491. " SET [tensp] = ?\n" +
  492. " ,[gia] = ?\n" +
  493. " WHERE [ID] = ?");
  494. ps.setString(1, sp.getTen());
  495. ps.setInt(2, sp.getGia());
  496. ps.setInt(3,sp.getId());
  497. ps.executeUpdate();
  498. ps = conn.prepareStatement( "SELECT [httql].[dbo].[Sanpham].[ID]\n" +
  499. " ,[tensp]\n" +
  500. " ,[gia]\n" +
  501. " ,[mota]\n" +
  502. " ,[ChiNhanhID]\n" +
  503. " ,[NhaCungCapID]\n" +
  504. " ,[DanhmucID]\n" +
  505. " ,[trangthai]\n" +
  506. " ,[nhacc]\n" +
  507. " ,[danhmuc]\n" +
  508. " FROM [httql].[dbo].[Sanpham] WHERE [httql].[dbo].[Sanpham].[trangthai] <> 'bixoa';" );
  509. ResultSet rs = ps.executeQuery();
  510. while(rs.next())
  511. {
  512.  
  513. SanPham b = new SanPham();
  514. b.setId(rs.getInt("ID"));
  515. b.setTen(rs.getString("tensp"));
  516. b.setGia(rs.getInt("gia"));
  517.  
  518.  
  519. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  520. lsp.add(b);
  521.  
  522. }
  523. }catch(Exception e){}
  524. return lsp;
  525. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  526. }
  527.  
  528. @Override
  529. public ArrayList<SanPham> xoaSanPham(SanPham sp) throws RemoteException {
  530. ArrayList<SanPham> lsp = new ArrayList<>();
  531. try{
  532. PreparedStatement ps = conn.prepareStatement("UPDATE [dbo].[Sanpham]\n" +
  533. " SET [trangthai] = ?\n" +
  534. " WHERE [ID] = ?");
  535. ps.setString(1, "bixoa");
  536. ps.setInt(2, sp.getId());
  537. ps.executeUpdate();
  538. ps = conn.prepareStatement( "SELECT [httql].[dbo].[Sanpham].[ID]\n" +
  539. " ,[tensp]\n" +
  540. " ,[gia]\n" +
  541. " ,[mota]\n" +
  542. " ,[ChiNhanhID]\n" +
  543. " ,[NhaCungCapID]\n" +
  544. " ,[DanhmucID]\n" +
  545. " ,[trangthai]\n" +
  546. " ,[nhacc]\n" +
  547. " ,[danhmuc]\n" +
  548. " FROM [httql].[dbo].[Sanpham] WHERE [httql].[dbo].[Sanpham].[trangthai] <> 'bixoa';" );
  549. ResultSet rs = ps.executeQuery();
  550. while(rs.next())
  551. {
  552.  
  553. SanPham b = new SanPham();
  554. b.setId(rs.getInt("ID"));
  555. b.setTen(rs.getString("tensp"));
  556. b.setGia(rs.getInt("gia"));
  557.  
  558.  
  559. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  560. lsp.add(b);
  561.  
  562. }
  563. }catch(Exception e){}
  564. return lsp;
  565. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  566. }
  567.  
  568. @Override
  569. public ArrayList<GiamGia> themMa(int parseInt) throws RemoteException {
  570. ArrayList<GiamGia> lgg = new ArrayList<>();
  571. try {
  572. PreparedStatement ps = conn.prepareStatement("INSERT INTO [dbo].[MaGiamGia]\n" +
  573. " ([giamgia]\n" +
  574. " ,[trangthai])\n" +
  575. " VALUES\n" +
  576. " (?, ?)");
  577. ps.setInt(1, parseInt);
  578. ps.setString(2, "tontai");
  579. ps.executeUpdate();
  580. ps = conn.prepareStatement("SELECT [ID]\n" +
  581. " ,[giamgia]\n" +
  582. " ,[trangthai]\n" +
  583. " FROM [httql].[dbo].[MaGiamGia]\n" +
  584. " WHERE [trangthai] <> 'bixoa'");
  585. ResultSet rs = ps.executeQuery();
  586. while(rs.next())
  587. {
  588. lgg.add(new GiamGia(rs.getInt("ID"), rs.getInt("giamgia")));
  589. }
  590. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  591. } catch (SQLException ex) {
  592. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  593. }
  594. return lgg;
  595. }
  596.  
  597. @Override
  598. public ArrayList<GiamGia> xoaMaGiamGia(int i) throws RemoteException {
  599. ArrayList<GiamGia> lgg = new ArrayList<>();
  600. try {
  601. PreparedStatement ps = conn.prepareStatement("UPDATE [dbo].[MaGiamGia]\n" +
  602. " SET [trangthai] = 'bixoa'\n" +
  603. " WHERE [ID] = ?");
  604. ps.setInt(1, i);
  605. ps.executeUpdate();
  606. ps = conn.prepareStatement("SELECT [ID]\n" +
  607. " ,[giamgia]\n" +
  608. " ,[trangthai]\n" +
  609. " FROM [httql].[dbo].[MaGiamGia]\n" +
  610. " WHERE [trangthai] <> 'bixoa'");
  611. ResultSet rs = ps.executeQuery();
  612. while(rs.next())
  613. {
  614. lgg.add(new GiamGia(rs.getInt("ID"), rs.getInt("giamgia")));
  615. }
  616. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  617. } catch (SQLException ex) {
  618. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  619. }
  620. return lgg;
  621.  
  622.  
  623.  
  624. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  625. }
  626.  
  627. @Override
  628. public ArrayList<SanPham> getSanPham() throws RemoteException {
  629. ArrayList<SanPham> lsp = new ArrayList<>();
  630. try {
  631.  
  632. PreparedStatement ps = conn.prepareStatement( "SELECT [httql].[dbo].[Sanpham].[ID]\n" +
  633. " ,[tensp]\n" +
  634. " ,[gia]\n" +
  635. " ,[mota]\n" +
  636. " ,[ChiNhanhID]\n" +
  637. " ,[NhaCungCapID]\n" +
  638. " ,[DanhmucID]\n" +
  639. " ,[trangthai]\n" +
  640. " ,[nhacc]\n" +
  641. " ,[danhmuc]\n" +
  642. " FROM [httql].[dbo].[Sanpham] WHERE [httql].[dbo].[Sanpham].[trangthai] <> 'bixoa';" );
  643. ResultSet rs = ps.executeQuery();
  644. while(rs.next())
  645. {
  646.  
  647. SanPham b = new SanPham();
  648. b.setId(rs.getInt("ID"));
  649. b.setTen(rs.getString("tensp"));
  650. b.setGia(rs.getInt("gia"));
  651.  
  652.  
  653. //SanPham b = new SanPham(rs.getInt("id"), rs.getString("tensp"), rs.getString("nhacc"), rs.getString("danhmuc"), rs.getInt("gia"), rs.getString("tencn"), rs.getInt("IDCN"));
  654. lsp.add(b);
  655.  
  656. }
  657. } catch (SQLException ex) {
  658. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  659. }
  660. return lsp;
  661. }
  662.  
  663. @Override
  664. public ArrayList<GiamGia> getMaGiamGia() throws RemoteException {
  665. ArrayList<GiamGia> lgg = new ArrayList<>();
  666. try {
  667. PreparedStatement ps = conn.prepareStatement("SELECT [ID]\n" +
  668. " ,[giamgia]\n" +
  669. " ,[trangthai]\n" +
  670. " FROM [httql].[dbo].[MaGiamGia]\n" +
  671. " WHERE [trangthai] <> 'bixoa'");
  672. ResultSet rs = ps.executeQuery();
  673. while(rs.next())
  674. {
  675. lgg.add(new GiamGia(rs.getInt("ID"), rs.getInt("giamgia")));
  676. }
  677. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  678. } catch (SQLException ex) {
  679. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  680. }
  681. return lgg;
  682. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  683. }
  684. public ArrayList<OfflineStatistic> getDonHangOffline()
  685. {
  686. ArrayList<OfflineStatistic> loff = new ArrayList<>();
  687. try{
  688. PreparedStatement ps = conn.prepareStatement("SELECT TOP 1000 [DonHangID]\n" +
  689. " ,[NhanvienID]\n" +
  690. " FROM [httql].[dbo].[DonHangOffline]");
  691. ResultSet rs = ps.executeQuery();
  692. OfflineStatistic off = new OfflineStatistic();
  693. while(rs.next())
  694. {
  695. off.setDhid(rs.getInt("DonHangID"));
  696.  
  697. PreparedStatement st1 = conn.prepareStatement("SELECT TOP 1000 [ID]\n" +
  698. " ,[ngaydathang]\n" +
  699. " ,[ChiNhanhID]\n" +
  700. " ,[MaGiamGiaID]\n" +
  701. " FROM [httql].[dbo].[DonHang] WHERE ID = ?");
  702. st1.setInt(1, off.getDhid());
  703. System.out.println(off.getDhid());
  704.  
  705. ResultSet rs1 = st1.executeQuery();
  706. rs1.next();
  707. off.setDate(rs1.getString("ngaydathang"));
  708. ps = conn.prepareStatement("SELECT\n" +
  709. " [soluong]\n" +
  710. " ,[SanphamID]\n" +
  711. " ,[DonHangID]\n" +
  712. " , tensp\n" +
  713. " ,gia\n" +
  714. " FROM [httql].[dbo].[ChiTietDonHang], [httql].[dbo].[Sanpham] \n" +
  715. " WHERE DonHangID = ? AND SanphamID = [httql].[dbo].[Sanpham] .ID;");
  716.  
  717. ps.setInt(1, off.getDhid());
  718. ResultSet rs2 = ps.executeQuery();
  719. while(rs2.next())
  720. {
  721. SanPham sp = new SanPham();
  722. sp.setId(rs2.getInt("SanphamID"));
  723. sp.setTen(rs2.getString("tensp"));
  724. sp.setGia(rs2.getInt("gia"));
  725. sp.setSoluong(rs2.getInt("soluong"));
  726. off.getLsp().add(sp);
  727. }
  728. loff.add(off);
  729. }
  730.  
  731. }catch(Exception e){
  732. System.out.println(e);
  733. }
  734. return loff;
  735. }
  736. public ArrayList<OnlineStatistic> getDonHangOnline()
  737. {
  738.  
  739.  
  740.  
  741.  
  742. ArrayList<OnlineStatistic> lon = new ArrayList<>();
  743. try{
  744. PreparedStatement st = conn.prepareStatement("SELECT [KhachHangTaiKhoantendn]\n" +
  745. " ,[DonHangID]\n" +
  746. " FROM [httql].[dbo].[DonHangOnline]");
  747. ResultSet rs = st.executeQuery();
  748. while(rs.next())
  749. {
  750. OnlineStatistic on = new OnlineStatistic();
  751. on.setIddh(rs.getInt("DonHangID"));
  752. on.setTedn(rs.getString("KhachHangTaiKhoantendn"));
  753. PreparedStatement st1 = conn.prepareStatement("SELECT TOP 1000 [ID]\n" +
  754. " ,[ngaydathang]\n" +
  755. " ,[ChiNhanhID]\n" +
  756. " ,[MaGiamGiaID]\n" +
  757. " FROM [httql].[dbo].[DonHang] WHERE ID = ?");
  758. st1.setInt(1, on.getIddh());
  759. System.out.println(on.getIddh());
  760. ResultSet rs1 = st1.executeQuery();
  761.  
  762. rs1.next();
  763. on.setDate(rs1.getString("ngaydathang"));
  764. PreparedStatement st2 = conn.prepareStatement("SELECT TOP 1000 [STT]\n" +
  765. " , [tensp]\n" +
  766. " ,[gia]\n" +
  767. " ,[soluong]\n" +
  768. " ,[SanphamID]\n" +
  769. " ,[DonHangID]\n" +
  770. " FROM [httql].[dbo].[ChiTietDonHang], [httql].[dbo].[Sanpham] WHERE [httql].[dbo].[ChiTietDonHang].[SanphamID] = ID AND DonHangID = ?");
  771. st2.setInt(1, on.getIddh());
  772. ResultSet rs2 = st2.executeQuery();
  773. while(rs2.next())
  774. {
  775. SanPham tam = new SanPham();
  776. tam.setId(rs2.getInt("SanphamID"));
  777. tam.setTen("tensp");
  778. tam.setGia(rs2.getInt("soluong"));
  779. tam.setSoluong(rs2.getInt("soluong"));
  780. on.getLsp().add(tam);
  781. }
  782. lon.add(on);
  783. }
  784. }catch(Exception e){
  785. System.out.println(e);
  786. }
  787. return lon;
  788. }
  789.  
  790.  
  791. /*try {
  792. ArrayList<OnlineStatistic> off = new ArrayList<>();
  793. PreparedStatement ps = conn.prepareStatement("SELECT [KhachHangTaiKhoantendn]\n" +
  794. " ,[DonHangID]\n" +
  795. " FROM [httql].[dbo].[DonHangOnline]");
  796. ResultSet rs = ps.executeQuery();
  797. while(rs.next())
  798. {
  799. OfflineStatistic off1 = new OfflineStatistic();
  800. off1.setDhid(rs.getInt("DonHangID"));
  801. ps = conn.prepareStatement("SELECT [ID]\n" +
  802. " ,[ngaydathang]\n" +
  803. " ,[ChiNhanhID]\n" +
  804. " FROM [httql].[dbo].[DonHang] WHERE [ID] = ?;");
  805. ps.setInt(1, off1.getDhid());
  806. ResultSet rs1 = ps.executeQuery();
  807. while(rs1.next())
  808. {
  809. off1.setDate(rs1.getString("ngaydathang"));
  810. }
  811. ps = conn.prepareStatement("SELECT [STT]\n" +
  812. " ,[soluong]\n" +
  813. " ,[DonHangID]\n" +
  814. " ,[tensp]\n" +
  815. " ,[gia]\n" +
  816. " FROM [httql].[dbo].[ChiTietDonHang], [httql].[dbo].[Sanpham] WHERE [SanphamID] = [ID] AND DonHangID = ?;");
  817. ps.setInt(1, off1.getDhid());
  818. ResultSet rs2 = ps.executeQuery();
  819. while(rs2.next())
  820. {
  821. off1
  822. }
  823. }
  824.  
  825.  
  826. } catch (SQLException ex) {
  827. Logger.getLogger(ServerCtrImpl.class.getName()).log(Level.SEVERE, null, ex);
  828. }
  829. return off;
  830. }*/
  831.  
  832.  
  833.  
  834. @Override
  835. public String sanphamNhieuNhat() throws RemoteException {
  836. try{
  837.  
  838. PreparedStatement ps = conn.prepareStatement(" SELECT SPID, [httql].[dbo].[Sanpham].tensp FROM\n" +
  839. " (SELECT TOP 1\n" +
  840. " [SanphamID] AS SPID\n" +
  841. " , SUM([soluong]) AS SL\n" +
  842. " FROM [httql].[dbo].[ChiTietDonHang]\n" +
  843. " GROUP BY ([SanphamID])\n" +
  844. " ORDER BY SL DESC) AS THONGKE, [httql].[dbo].[Sanpham]\n" +
  845. " WHERE THONGKE.SPID = Sanpham.ID;");
  846. ResultSet rs = ps.executeQuery();
  847. rs.next();
  848. return "Sản phẩm bán được nhiều nhất: " + rs.getString("tensp");
  849. }catch(Exception e){
  850. System.out.println(e);
  851. }
  852. return null;
  853. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  854. }
  855.  
  856. public static void main(String[] args) throws NotBoundException, MalformedURLException, RemoteException {
  857. ServerCtr c;
  858. c = (ServerCtr) Naming.lookup("rmi://192.168.0.146:9679/ctr");
  859.  
  860. }
  861. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement