MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT DANH MỤC BẢNG DANH MỤC HÌNH PHẦN MỞ ĐẦU 9 CHƯƠNG 1 TỔNG QUAN VỀ PHẦN MỀM ỨNG DỤNG QUẢN LÍ TIẾP CÔNG DÂN CỦA ỦY BAN NHÂN DÂN THÀNH PHỐ VINH 4 1.1. Sự cần thiết trong việc xây dựng luật tiếp công dân 4 1.1.1. Ý nghĩa và tấm quan trọng trong việc tiếp công dân 4 1.2 Những quy định chung của Luật Tiếp công dân 6 1.2.1 Phạm vi điều chỉnh. 6 1.2.2 Giải thích ngữ nghĩa. 7 1.2.3 Nguyên tắc tiếp công dân 8 1.2.4 Đối tượng áp dụng 8 1.2.5 Mục đích tiếp công dân 8 1.2.6 Trách nhiệm tiếp công dân. 8 1.2.7 Vị trí, chức năng 9 1.2.8 Các hành vi bị nghiêm cấm 9 1.3 Những quy định chung của xử lý đơn thư khiếu nại, tố cáo 10 1.3.1 Phạm vi điều chỉnh 10 1.3.2 Giải thích ngữ nghĩa 10 1.4 Cơ cấu tổ chức và quy trình tiếp công dân 13 1.4.1 Cơ cấu tổ chức 13 1.4.2 Quy trình xử lý đơn thư khiếu nại tố cáo 13 1.5 Khảo sát tiếp công dân của Ủy Ban nhân dân thành phố Vinh 14 1.5.1 Tiếp công dân thường xuyên 14 1.5.2 Trình tự tiếp công dân của thủ trưởng cơ quan hành chính nhà nước 15 1.6 Bài toán quản lí tiếp công dân của Ủy ban nhân dân thành phố vinh 16 1.7 Kết luận chương 1 17 CHƯƠNG 2 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH ĐƯỢC SỬ DỤNG 18 2.1 Hệ quản trị cơ sở dữ liệu SQL server 2012 18 2.2 Ngôn ngữ lập trình PHP 18 2.3 Hoạt động của PHP 18 2.4 Kết luận chương 2 20 CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÍ TIẾP CÔNG DÂN VÀ XỬ LÍ ĐƠN THƯ KHIẾU NẠI, TỐ CÁO 21 3.1 Khảo sát và Phân tích bài toán Quản lý Tiếp công dân. 21 3.1.1 Khảo sát 21 3.1.2.Phân tích bài toán 22 3.2 Đặc tả yêu cầu hệ thống 22 3.2.1 Yêu cầu về chức năng của hệ thống 22 3.3 Phân tích hệ thống 24 3.3.1 Mô hình Use Case mức cao 24 3.3.2 Phân tích các mô hình Use Case chi tiết 25 3.4 Thiết kế hệ thống 49 3.4.1 Biểu đồ mối quan hệ thực thể 49 3.4.2 Thiết kế cơ sở dữ liệu 49 CHƯƠNG 4 LẬP TRÌNH XÂY DỰNG VÀ MÔ TẢ HỆ THỐNG 57 4.1 Lập trình xây dựng ứng dụng 57 4.2 Mô tả hệ thống 57 4.2.1 Giao diện và cách sử dụng của 1 số chức năng 57 4.3 Kết luận chương 4 68 TÀI LIỆU THAM KHẢO 70
LỜI CAM ĐOAN Em xin cam đoan đồ án tốt nghiệp tự thân thực không chép công trình nghiên cứu người khác để làm sản phẩm riêng Các thông tin sử dụng đồ án có nguồn gốc trích dẫn rõ ràng Em xin hoàn toàn chịu trách nhiệm tính xác thực nguyên đồ án LỜI CẢM ƠN Trên thực tế thành công không gắn liền với hỗ trợ, giúp đỡ nhiều hay dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học tập giảng đường đại học đến nay, em nhận nhiều quan tâm từ Thầy, Cô, gia đình bạn bè Với lòng biết ơn sâu sắc nhất, em xin kính gửi đến quý Thầy, Cô khoa Công nghệ thông tin – Trường Đại học Tài nguyên Môi trường Hà Nội với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho em suốt thời gian học tập trường, cổ vũ động viên, kích lệ tạo điều kiện tốt cho em lúc gặp khó khăn để em bước tiếp đường thành công Đặc biệt em xin chân thành cảm ơn Thầy Nguyễn Việt Anh người tận tình hướng dẫn, bảo, động viên hỗ trợ chúng em suốt trình thực đề tài Trong thời gian làm đồ án thầy, em học hỏi kiến thức mà học hỏi khả làm việc nghiêm túc, độc lập có trách nhiệm với công việc Bước đầu vào thực tế, tìm hiểu cách quản lý Nhà nước nên kiến thức em nhiều hạn chế bỡ ngỡ, không tránh khỏi thiếu sót điều chắn, em mong nhận góp ý quý báu Thầy, Cô bạn để sau kiến thức em lĩnh vực hoàn thiện MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT DANH MỤC CÁC CHỮ VIẾT TẮT ĐK HĐND KN, TC NĐ-CP PHP PMQL SQL TX TCD UBND Định kỳ Hội đồng nhân dân Khiếu nại, Tố cáo Nghị định Chính phủ Hypertext Preprocessor Phần mềm quản lý Structured Query Language Thường xuyên Tiếp công dân Ủy ban Nhân dân DANH MỤC BẢNG DANH MỤC HÌNH PHẦN MỞ ĐẦU Cùng với phát triển người Công nghệ thông tin không ngừng phát triển, Công nghệ thông tin đóng vai trò quan trọng việc phát triển kinh tế - xã hội nhiều quốc gia giới phần thiếu công đại hóa quốc gia Công nghệ thông tin có bước phát triển mạnh mẽ chiều sâu lẫn chiều rộng Máy tính trở lên phổ biến với tất người máy tính trở thành công cụ giải trí cho người công ty gia đình Trên giới Việt Nam Công nghệ thông tin trở thành ngành khoa học kỹ thuật thiếu ứng dụng hoạt động kinh tế, văn hóa, xã hội,….Chính công ty tin học giới không ngừng đưa giải pháp sản phẩm, hệ thống quản lý có chất lượng cao, thông qua sản phẩm giải pháp đó, nhận thấy tầm quan trọng tính thiết yếu Công nghệ thông tin việc ứng dụng quản lý Ở nước ta nay, việc áp dụng tin học hóa quản lý quan, doanh nghiệp phổ biến ngày trở nên cấp thiết Trong quan, tổ chức doanh nghiệp nguồn lực giữ vai trò chủ đạo nhiên sống không trải qua khó khăn công việc xử lí đơn thư Lý chọn đề tài Công tác tiếp công dân xử lý đơn thư khiếu nại, tố cáo vấn đề có ý nghĩa vô quan trọng công đổi Đảng Nhà nước ta Việc đổi đường lối phát triển kinh tế - xã hội phải đôi với thực “Công bằng, dân chủ” Đảng, Nhà nước ta coi công tác tiếp công dân thực quan điểm “Dân gốc” tiếp công dân tạo điều kiện để nhân dân trực tiếp tham gia quản lý Nhà nước “Dân biết, dân bàn, dân làm, dân kiểm tra” tạo điều kiện để nhân dân thực quyền dân chủ, đấu tranh với tượng tiêu cực, tham nhũng, nhũng nhiễu nhân dân, bảo vệ lợi ích hợp pháp, đáng Nhà nước, tập thể cá nhân Công tác tiếp công dân bước đầu giải khiếu nại, tố cáo Hiến pháp năm 1992 khẳng định khiếu nại, tố cáo quyền công dân, quyền sử dụng không hạn chế lĩnh vực Luật khiếu nại, tố cáo cụ thể hoá quyền khiếu nại, tố cáo công dân thành chế định thực thực tế việc giải khiếu nại, tố cáo theo quy định pháp luật Trên thực tế việc thực thi quyền quyền nghĩa vụ Nhà nước quyền nghĩa vụ công dân vấn đề phải bàn bạc, phải hoàn thiện mặt pháp luật nhiều Nhưng phải khẳng định điều công tác tiếp công dân xử lý đơn thư khiếu nại, tố cáo Nhà nước ta năm gần có nhiều tiến bộ, tích cực, hạn chế vụ việc xúc, phức tạp, góp phần ổn định tình hình an ninh, trị, giữ ổn định phát triển đất nước Qua thời gian thực tế “Ủy ban Nhân dân Thành phố Vinh” Em nhận thức rằng: Bằng việc thực tế em thấy công tác tiếp công dân xử lý đơn thư khiếu nại, tố cáo có vị trí quan trọng Nếu quan Nhà nước, quyền cấp, cấp sở mà thực tốt công tác tiếp công dân xử lý đơn thư khiếu nại từ bước đầu góp phần quan trọng không hạn chế phát sinh vụ việc phức tạp, đồng thời hạn chế tình trạng xúc khiếu nại đông người, đặc biệt vấn đề có tính nhạy cảm an ninh trị, điểm yếu mà kẻ địch lợi dụng để âm mưu “Diễn biến hoà bình” phá hoại công đổi Đảng Nhà nước ta việc quản lý lưu trữ tài liệu, thống kê,…của công tác tiếp công dân Trong viết này, em tập trung nghiên cứu vào số vấn đề công tác tiếp công dân xử lý đơn thư khiếu nại, tố cáo nhằm củng cố kiến thức học, nghiên cứu Mong muốn đáp ứng tốt trình độ nhiệp vụ chuyên môn công tác thực tế nói chung kỹ nghiệp vụ công tác tiếp dân xứ lý đơn thư khiếu nại, tố cáo địa phương nơi mà thân em thực tế Bằng phát triển Công nghệ thông tin giúp ta giải nhiều vấn đề khó khăn công việc nói chung tiếp công dân xử lý đơn thư nói riêng Do em thực nghiên cứu “Xây dựng phần mềm ứng dụng quản lý tiếp công dân” cụ thể thực Ủy ban Nhân dân Thành phố Vinh Nội dung đồ án: Đồ án trình bày quy trình xây dựng phần mềm ứng dụng quản lý tiếp công dân bao gồm tìm hiểu nghiệp vụ quản lý tiếp công dân từ vào phân tích thiết kế hệ thống để đưa sản phẩm phần mềm có chức cần thiết, cấu trúc đồ án gồm bốn chương: Chương 1: Tổng quan phần mềm ứng dụng quản lý tiếp công dân Ủy ban Nhân dân Thành phố Vinh Chương 2: Tổng quan ngôn ngữ lập trình sử dụng Chương 3: Phân tích thiết kế hệ thống Chương 4: Lập trình xây dựng mô tả hệ thống Kết luận hướng phát triển đề tài Đối tượng nghiên cứu: Qua trình xử lý, lưu trữ, thống kê qua xây dựng phần mềm ứng dụng quản lý tiếp công dân Ủy ban Nhân dân Thành phố Vinh Phạm vi nghiên cứu: Chương trình áp dụng xây dựng phần mềm ứng dụng quản lý tiếp công dân Ủy ban Nhân dân Thành phố Vinh CHƯƠNG TỔNG QUAN VỀ PHẦN MỀM ỨNG DỤNG QUẢN LÝ TIẾP CÔNG DÂN CỦA ỦY BAN NHÂN DÂN THÀNH PHỐ VINH 1.1 Sự cần thiết việc xây dựng luật tiếp công dân 1.1.1 Ý nghĩa tầm quan trọng việc tiếp công dân Tiếp công dân công tác quan trọng hoạt động Đảng, Nhà nước quan, tổ chức hệ thống trị nước ta Thông qua việc tiếp công dân, Nhà nước quan, tổ chức tiếp nhận khiếu nại, tố cáo, kiến nghị, phản ánh nhân dân liên quan đến việc thực chủ trương, đường lối, sách, pháp luật để có biện pháp xử lý, khắc phục kịp thời Làm tốt công tác tiếp công dân thể chất Nhà nước dân, dân dân, tăng cường mối quan hệ nhân dân với Đảng Nhà nước Mặt khác, thông qua công tác tiếp công dân giúp cho Đảng Nhà nước tiếp nhận thông tin phản hồi từ thực tế, vấn đề nảy sinh từ sống, từ đề chủ trương, sách đắn, hợp lòng dân Nhận thức rõ tầm quan trọng công tác này, thời gian qua, Đảng Nhà nước ban hành nhiều nghị quyết, thị, văn pháp luật tiếp công dân, quan, tổ chức triển khai, thực có hiệu công tác Chính vậy, công tác tiếp công dân thu kết định: Các cấp ủy Đảng, quyền, đoàn thể nhận thức đầy đủ trách nhiệm tiếp công dân giải khiếu nại, tố cáo, coi nhiệm vụ trị nhiều đồng chí lãnh đạo trực tiếp tiếp công dân theo quy định, bước khắc phục tình trạng khoán trắng cho số quan chuyên môn, tổ chức đối thoại, đạo giải vụ việc phức tạp từ nơi phát sinh, chấn chỉnh việc làm sai trái cán bộ, quan cấp dưới, hướng dẫn công dân thực chủ trương, sách Đảng, pháp luật Nhà nước Nhiều nơi thành lập Trụ sở, ban hành nội quy, quy chế tiếp công dân, bố trí công chức làm nhiệm vụ tiếp công dân, đầu tư sở, trang thiết bị cho Trụ sở, công tác tiếp công dân vào nề nếp Hàng năm, Trụ sở tiếp công dân Trung ương Đảng, Nhà nước 10 cấp, ngành tiếp hướng dẫn hàng chục lượt người khiếu nại, tố cáo, kiến nghị, phản ánh, có nhiều đoàn khiếu kiện đông người, phức tạp Những hạn chế bất cập việc tiếp công dân thời gian qua Bên cạnh kết nêu trên, công tác tiếp công dân cấp, ngành Trụ sở tiếp công dân Trung ương Đảng Nhà nước có hạn chế, yếu kém, chưa đáp ứng yêu cầu, cụ thể là: a) Lãnh đạo số quan, tổ chức chưa nhận thức đầy đủ tầm quan trọng công tác tiếp công dân, chưa quan tâm mức đến công tác này, chưa đề cáo trách nhiệm người đứng đầu quan, tổ chức việc tiếp công dân, giải khiếu nại, tố cáo b) Việc tiếp công dân hình thức, chưa hiệu quả; có nơi biểu thiếu tinh thần trách nhiệm, thái độ không mực người dân đến khiếu nại, tố cáo, kiến nghị, phản ánh; tình trạng né tránh trách nhiệm, hướng dẫn công dân không quy định xảy c) Tên gọi, mô hình tổ chức tổ chức tiếp công dân, cấu thành phần nơi tiếp công dân; số lượng cán bộ, điều kiện làm việc, chế độ sách công chức tiếp công dân thiếu thống từ Trung ương đến địa phương Việc phối, kết hợp Trụ sở tiếp công dân Trung ương với địa phương, quan, tổ chức thường trực Trụ sở tiếp công dân; Trụ sở tiếp công dân với quan, tổ chức có trách nhiệm giải khiếu nại, tố cáo, kiến nghị, phản ánh thiếu chặt chẽ; số nơi, việc tiếp công dân chưa gắn với giải khiếu nại, tố cáo, kiến nghị, phản ánh; việc tiếp công dân Trụ sở chưa gắn với theo dõi, kiểm tra, đôn đốc việc tiếp thu, xem xét, giải quan, tổ chức d) Trong hoạt động tiếp công dân, chưa phân định rõ việc tiếp công dân đến khiếu nại, tố cáo với kiến nghị, phản ánh; chưa quy định rõ việc tiếp công dân người đứng đầu với việc tiếp công dân công chức, việc tiếp công dân thường xuyên với việc tiếp công dân theo yêu cầu khẩn thiết vụ việc phức tạp, có nhiều người tham gia đ) Chế độ thông tin tình hình khiếu nại, tố cáo, kiến nghị, phản ánh Trụ sở tiếp công dân, quan, tổ chức, đơn vị chưa đầy đủ, kịp thời; công tác 74 chức tra cứu, chức hướng dẫn sử dụng, chức thông tin cá nhân Hệ thống đáp ứng số yêu cầu quản lý tiếp công dân Việc thực đề tài giúp em trau dồi lại kiến thức học, đồng thời tìm hiểu nghiên cứu kiến thức để ứng dụng vào việc phát triển hệ thống thông tin Hướng phát triển đề tài Hệ thống quản lý tiếp công dân Ủy ban Nhân dân Thành phố Vinh phát triển thêm tính để đáp ứng tốt vai trò tiếp công dân Ủy ban Nhân dân Thành phố Vinh Nghiên cứu mở rộng phạm vi quản lý tiếp công dân xử lý đơn thư khiếu nại, tố cáo 75 TÀI LIỆU THAM KHẢO [1] Giáo trình Ngôn ngữ lập trình PHP [2] Luật tiếp công dân – Bộ tư pháp [3] Nguyễn Thị Ngọc Mai, Lý Thuyết Cơ sở Dữ liệu; NXB Lao Động – Xã Hội; Hà Nội – 2007 [4] Nguyễn Văn Vy, Phân tích thiết kế hệ thống thông tin quản lý; NXB Khoa học tự nhiên công nghệ; Hà Nội – 2007 Thông tư 07/2014/TT-TTCP quy trình xử lý đơn thu khiếu nại, tố cáo [5] Phạm Hữu Khang, Quản trị SQL Server; NXB Lao Động – Xã Hội; Hà Nôi – 2008 [6] ThS Nguyễn Thị Hồng Hương, GIÁO TRÌNH PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN, Đại học tài nguyên môi trường Hà Nội [7] Thông tư 06/2014/TT-TTCP quy trình tiếp công dân [8] Thông tư 07/2014/TT-TTCP quy trình xử lý đơn thu khiếu nại, tố cáo PHỤ LỤC //Tao doi tuong $objxml = new G_Xml(); $sPath = G_Global::getInstance()->dirXml "record/meeting/frequently/index.xml"; $arrParameter = $this->_request->getParams(); $sXmlStuctFiled = 'list_of_object/table_struct_of_filter_form/filter_row_list/filter_row'; $sXmlTagFiled = 'list_of_object/filter_formfield_list'; $sXmlStuctFiledExpand = 'list_of_object/table_struct_of_filter_expand_form/filter_row_list/filter_row'; $sXmlTagFiledExpand = 'list_of_object/filter_formfield_expand_list'; $arrResult = $objxml->_xmlExportSqlQuery($sPath, $sXmlStuctFiled, $sXmlTagFiled, 'list_of_object/list_sql', 'list_of_object/list_body/col', $arrParameter, $sXmlStuctFiledExpand, $sXmlTagFiledExpand, false); if($arrResult){ foreach ($arrResult as $key => $value) { $arrResult[$key]['dReceivedDate'] = $value['f_dReceivedDate']; } } echo Zend_Json::encode($arrResult); $this->getHelper('viewRenderer')->setNoRender(); } public function updateAction() { $sPath = G_Global::getInstance()->dirXml 'record/meeting/frequently/update.xml'; $dbConnect = new G_Db(); if (is_file($sPath)) { $objxml = new G_Xml($sPath); $list_form_title = $objxml->common_para_list->common_para>list_form_title; $this->view->bodyTitle = G_Convert::Lower2Upper($list_form_title); $pkrecord_meeting = $this->_request->getParam('pkrecord_meeting', ''); $this->view->pkrecord_meeting = $pkrecord_meeting; $userIdentity = Zend_Auth::getInstance()->getIdentity(); $sOwnerCode = (isset($userIdentity->sDistrictWardProcess) && $userIdentity->sDistrictWardProcess !='' ? $userIdentity->sDistrictWardProcess : $userIdentity->sOwnerCode); $this->view->ownerCode = $sOwnerCode; $arrGetSingle = array(); $province_district = $userIdentity->sDistrictWardProcess; if ($pkrecord_meeting != '') { $arrGetSingle = $objxml->getSqlGetSingle($sPath, "update_object/table_struct_of_update_form/update_row_list/update_row", "update_object/update_formfield_list", 'list_sql', $pkrecord_meeting); } else { $iOrder = $dbConnect->_querySql(array('type' => 'TIEP_DAN_TX', 'ownerCode' => $sOwnerCode, 'sp' => '0'), 'sp_KntcGetOrderMax', false, false); $this->view->iNumberCode = $iOrder['NEW_ORDER']; } $frmhtml = $objxml->_xmlGenerateFormfield($sPath, 'update_object/table_struct_of_update_form/update_row_list/update_row', 'update_object/update_formfield_list', 'sXmlData', $arrGetSingle, false, false); $this->view->frmhtml = $frmhtml; $this->view->province_district = $province_district; } else { $this->getHelper('viewRenderer')->setNoRender(); } } public function saveAction() { $dbConnect = new G_Db(); $sPath = G_Global::getInstance()->dirXml "record/meeting/frequently/update.xml"; $objxml = new G_Xml(); $arrValue = $this->_request->getParams(); $arrValue['sMeetingStatus'] = 'THUONG_XUYEN'; $sql = $objxml->getParamxml($sPath, "update_object/table_struct_of_update_form/update_row_list/update_row", "update_object/update_formfield_list", 'list_sql', $arrValue, 1, 1); $arrResult = $dbConnect->adodbExecSqlString($sql); $pkrecord_meeting = $this->_request->getParam('PkRecordMeetingCitizens'); if ($pkrecord_meeting == '') { $userIdentity = Zend_Auth::getInstance()->getIdentity(); $sOwnerCode = (isset($userIdentity->sDistrictWardProcess) && $userIdentity->sDistrictWardProcess !='' ? $userIdentity->sDistrictWardProcess : $userIdentity->sOwnerCode); $dbConnect->_querySql(array('type' => 'TIEP_DAN_TX', 'ownerCode' => $sOwnerCode, 'sp' => '1'), 'sp_KntcGetOrderMax', false, false); } $this->getHelper("viewRenderer")->setNoRender(); } public function deleteAction() { $dbConnect = new G_Db(); $pkrecord_meeting = $this->_request->getParam('pkrecord_meeting', ''); $arrFields = $dbConnect->_querySql(array('pkrecord_meeting' => $pkrecord_meeting), 'sp_KntcDelete_Record_Meeting', false, false); echo Zend_Json::encode($arrFields); $this->getHelper("viewRenderer")->setNoRender(); } public function printAction() { $sPath = G_Global::getInstance()->dirXml 'record/meeting/frequently/print.xml'; if (is_file($sPath)) { $pkrecord = ''; $sPkTableEvent = $this->eventTableId(); $objFlow = new G_Flows(); $dbConnect = new G_Db(); $arrStatusStep = $dbConnect->_querySql(array('eventTableId' => $sPkTableEvent), 'sp_SysWorkFlowGetStatusStepOfTask', false, false); $objxml = new G_Xml($sPath); $list_form_title = $objxml->common_para_list->common_para>list_form_title; $this->view->bodyTitle = G_Convert::Lower2Upper($list_form_title); $frmhtml = $objxml->_xmlGenerateFormfield($sPath, 'update_object/table_struct_of_update_form/update_row_list/update_row', 'update_object/update_formfield_list', 'sXmlData', array(), false, false); $this->view->frmhtml = $frmhtml; $this->view->htmlstepwf = $objFlow>getCurrentStepHTML($sPkTableEvent, $pkrecord); $this->view->htmlnextstepwf = $objFlow>getNextStepHtml($sPkTableEvent, $pkrecord); $this->view->sCurrentStatus = $arrStatusStep['sCurrentStatusList']; $this->view->sDetailtStatus = $arrStatusStep['sDetailtStatusList']; $this->view->sWorkType = $arrStatusStep['sWorkType']; } else { $this->getHelper('viewRenderer')->setNoRender(); } } // Sửa đơn public function editrecordAction(){ $sPath = G_Global::getInstance()>dirXml 'record/meeting/frequently/editrecord.xml'; if(is_file($sPath)) { $sPkTableEvent = $this->eventTableId(); $objFlow = new G_Flows(); $dbConnect = new G_Db(); $arrStatusStep = $dbConnect>_querySql(array('eventTableId'=>$sPkTableEvent),'sp_SysWorkFlowGetStatusSte pOfTask',false,false); $objxml = new G_Xml($sPath); $list_form_title = $objxml->common_para_list->common_para>list_form_title; $this->view->bodyTitle = G_Convert::Lower2Upper($list_form_title); $frmhtml = $objxml->_xmlGenerateFormfield($sPath, 'update_object/table_struct_of_update_form/update_row_list/update_row', 'update_object/update_formfield_list', 'sXmlData', array(), false, false); $this->view->frmhtml = $frmhtml; $this->view->htmlstepwf = $objFlow>getCurrentStepHTML($sPkTableEvent,$pkrecord); $this->view->htmlnextstepwf = $objFlow>getNextStepHtml($sPkTableEvent,$pkrecord); $this->view->sCurrentStatus = $arrStatusStep['sCurrentStatusList']; $this->view->sDetailtStatus = $arrStatusStep['sDetailtStatusList']; $this->view->sWorkType = $arrStatusStep['sWorkType']; } else { $this->getHelper('viewRenderer')->setNoRender(); } } // Cập nhật đơn public function recordlistAction(){ //Tao cac doi tuong $dbConnect = new G_Db(); $objCache = new G_Cache(); $pkrecord_meeting = $this->_request->getParam('pkrecord_meeting'); $sql = "Select sInputNumber From KntcRecordMeetingCitizens Where PkRecordMeetingCitizens=".$dbConnect->qstr($pkrecord_meeting); try { $arrGetSingle = $dbConnect->adodbExecSqlString($sql); } catch (Exception $e) { echo $e->getMessage(); } $bodyTitle = 'DANH SÁCH ĐƠN ĐÃ TIẾP NHẬN TỪ LƯỢT TIẾP CÔNG DÂN'; if ($arrGetSingle) { $bodyTitle = ' SỐ ' $arrGetSingle['sInputNumber']; } $this->view->bodyTitle = $bodyTitle // Thêm đơn public function addrecordAction(){ $pkrecord_meeting = $this->_request->getParam('pkrecord_meeting'); $sPath = G_Global::getInstance()->dirXml 'record/meeting/frequently/addrecord.xml'; $dbConnect = new G_Db(); if (is_file($sPath)) { $sPkTableEvent = G_Flows::getInstance()->_getPkEventTable('receive', 'record', 'add'); $objxml = new G_Xml($sPath); $this->view->bodyTitle = G_Convert::Lower2Upper($objxml>common_para_list->common_para->list_form_title); $pkrecord = $this->_request->getParam('pkrecord', ''); $this->view->ownerCode = Zend_Auth::getInstance()->getIdentity()>sOwnerCode; $arrGetSingle = array('FkRecordMeetingCitizens' => $pkrecord_meeting); if ($pkrecord != '') { $arrGetSingle = $objxml->getSqlGetSingle($sPath, "update_object/table_struct_of_update_form/update_row_list/update_row", "update_object/update_formfield_list", 'list_sql', $pkrecord); } else { $iOrder = $dbConnect->_querySql(array('type' => 'INPUT_NUMBER', 'ownerCode' => Zend_Auth::getInstance()->getIdentity()->sOwnerCode, 'sp' => '0'), 'sp_KntcGetOrderMax', false, false); $this->view->iNumberCode = $iOrder['NEW_ORDER']; } $frmhtml = $objxml->_xmlGenerateFormfield($sPath, 'update_object/table_struct_of_update_form/update_row_list/update_row', 'update_object/update_formfield_list', 'sXmlData', $arrGetSingle, false, false); $this->view->frmhtml = $frmhtml; $arrStatusStep = $dbConnect->_querySql(array('eventTableId' => $sPkTableEvent), 'sp_SysWorkFlowGetStatusStepOfTask', false, false); $sCurrentStatus = $arrStatusStep['sCurrentStatusList']; $sDetailtStatus = $arrStatusStep['sDetailtStatusList']; $sWorkType = $arrStatusStep['sWorkType']; $this->view->sCurrentStatus = $sCurrentStatus; $this->view->pkrecord = $pkrecord; $this->view->sDetailtStatus = $sDetailtStatus; $this->view->sPkTableEvent = $sPkTableEvent; $this->view->sWorkType = $sWorkType; } else { $this->getHelper('viewRenderer')->setNoRender(); } } //Xóa đơn public function deleterecordAction(){ die; } public function recordloadlistAction() { $arrResult = array(); $dbConnect = new G_Db(); $arrParameter = array('pkrecord_meeting' => $this->_request>getParam('pkrecord_meeting'), 'sOwnerCode' => '', 'hdn_current_page' => $this->_request>getParam('hdn_current_page'), 'hdn_record_number_page' => $this->_request>getParam('hdn_record_number_page') ); $arrResult = $dbConnect->_querySql($arrParameter, 'sp_KntcRecordByMeeting', 1, 0); if ($arrResult) { $sPath = G_Global::getInstance()->dirXml 'record/meeting/frequently/recordlist.xml'; $objxml = new G_Xml($sPath); $arrBody = $objxml->getArrayElement('list_of_object/list_body/col'); $arrBodyHidden = $objxml>getArrayElement('list_of_object/list_body_hidden/col'); if ($arrBodyHidden) { $arrBody = array_merge($arrBody, $arrBodyHidden); } $arrResult = G_Convert::getInstance()->convertArrayData($arrBody, $arrResult, array('column_group' => '')); } die(json_encode($arrResult)); } private function updateInputNumber($pkRecord, $sInputNumber, $inputold, $sOwnerCode) { $dbConnect = new G_Db(); if ($pkRecord) { $sql = 'Select As RESULT From KntcRecord Where sInputNumber =' $dbConnect->qstr($sInputNumber) ' And PkRecord Not In (' $dbConnect>qstr($pkRecord ) ') And sOwnercode =' $dbConnect->qstr($sOwnerCode); } else { $sql = 'Select As RESULT From KntcRecord Where sInputNumber =' $dbConnect->qstr($sInputNumber) ' And sOwnercode =' $dbConnect>qstr($sOwnerCode); } $result = $dbConnect->_querySql(array(), $sql, false, false); if ($result && $result['RESULT']) { $exist = true; } else { if ($pkRecord == '' && !$inputold) { $dbConnect->_querySql(array('type' => 'INPUT_NUMBER', 'ownerCode' => $sOwnerCode, 'sp' => '1'), 'sp_KntcGetOrderMax', false, false); } $exist = false; } return $exist; } public function saverecordAction() { $sPath = G_Global::getInstance()->dirXml 'record/meeting/frequently/addrecord.xml'; $userIdentity = Zend_Auth::getInstance()->getIdentity(); $dbConnect = new G_Db(); $objxml = new G_Xml(); $objLib = new G_Lib(); $arrValue = $this->_request->getParams(); $arrResult = false; $pkrecord = $this->_request->getParam('PkRecord', ''); if ($pkrecord) { $arrSingle = $dbConnect->adodbExecSqlString('SELECT sCurrentStatus, iDetailStatus, dReceivedDate FROM KntcRecord WHERE PkRecord =' $dbConnect->qstr($pkrecord)); if (empty($arrSingle) || $arrSingle == false) die(json_encode(array('err' => '1', 'msg' => 'Hồ sơ không hợp lệ'))); $arrValue['R07'] = $arrSingle['dReceivedDate']; } $dbConnect->BeginTrans() $inputold = $this->_request->getParam('inputold', ''); if ($this->updateInputNumber($pkrecord, $arrValue['R05'], $inputold, $userIdentity->sOwnerCode)){ $dbConnect->RollbackTrans(); die(json_encode(array('err' => '1', 'msg' => 'Số đến tồn tại'))); } $arrValue['updateRecordWork'] = ($pkrecord ? : 1); $sql = $objxml->getParamxml($sPath, "update_object/table_struct_of_update_form/update_row_list/update_row", "update_object/update_formfield_list", 'list_sql', $arrValue, 1, 1); $arrResult = $objLib->saveRecord($sql, $arrValue); if ($arrResult && $arrResult['NEW_ID'] != '') { if($pkrecord=='') { $newpkrecord = $arrResult['NEW_ID']; $eventTableId = $this->_request->getParam('hdn_event_table_id'); $arrInforLimit = $dbConnect->_querySql(array('eventTableId' => $eventTableId, 'pkRecord' => $newpkrecord), 'sp_SysGetTimeLimitByEventTable', false, false); $iNumberDay = G_Flows::getInstance()>getTimeLimitByPetition($arrInforLimit['sPettionType'], $arrInforLimit['sNature'], $arrInforLimit['iNumberDay']); $dDateStart = date("Y-m-d H:i:s"); $arrInput = array( 'uFkTask' => $arrInforLimit['PkTaskWF'], 'uFkRecord' => $newpkrecord, 'uFkStaff' => $userIdentity->PkStaff, 'uFkDepartment' => $userIdentity->FkUnit, 'sStaffName' => $userIdentity->sPositionCode ' - ' $userIdentity>sName, 'sDepartmentName' => $userIdentity->sUnitName, 'iNumberDay' => $iNumberDay, 'dDateStart' => $dDateStart, 'dDateEnd' => G_Date::getInstance()>get_appointed_date($dDateStart, $iNumberDay), 'dDateSend' => '', 'iTotalDayProcess' => '', 'sNote' => '', ); $rs = $dbConnect->_querySql($arrInput, 'sp_KntcProcessTimeRecordUpdate', false, false); if (!$rs) { $dbConnect->RollbackTrans(); $resp = array('err' => '1', 'msg' => 'Lỗi cập nhật quy trình xử lý!'); die(json_encode($resp)); } } $arrValue['recordId'] = $arrResult['NEW_ID']; $arrValue['recordWork'] = $arrResult['recordWork']; $arrValue['tableObject'] = 'KntcRecord'; // Cap nhat file dinh kem $rs = $objLib->updateFile($arrValue); if ($rs['errors'] == true) { $dbConnect->RollbackTrans(); die(json_encode(array('err' => '1', 'msg' => $rs['msg']))); } } else { $dbConnect->RollbackTrans(); die(json_encode(array('err' => '1', 'msg' => 'Lỗi cập nhật đơn!'))); } $dbConnect->CommitTrans(); die(json_encode(array('err' => '', 'msg' => 'Cập nhật thành công!'))); } } ?> [...]... toán quản lý tiếp công dân như sau: 27 Xây dựng cơ sở dữ liệu để lưu các thông tin liên quan đến tiếp công dân, sau đó xây dựng phần mềm quản lý tiếp công dân thực hiện các thao tác cập nhật các thông tin liên quan đến việc tiếp công dân, tìm kiếm, lưu trữ bản mềm 3.1.2 Phân tích bài toán Quản lý tiếp công dân của Ủy ban Nhân dân Thành phố Vinh nhằm mục đích quản lý và lưu trữ thông tin về tiếp công dân. .. thoát khỏi phần mềm 29 PHẦN MỀM QUẢN LÝ TIẾP CÔNG DÂN Quản lý tiếp công dân Tra cứu Báo cáo Hướng dẫn sử dụng Hồ sơ cá nhân Quản lý tiếp công dân định kỳ Quản lý tiếp công dân thường xuyên Thay đổi mật khẩu Hướng dẫn sử dụng bằng tài liệu Báo cáo chi tiết tình hình tiếp dân TX, và tiếp dân ĐK Báo cáo tổng hợp kết quả tiếp dân Tra cứu tìm kiếm tiếp dân định kỳ Tra cứu tổng hợp tiếp dân Thoát Thông tin... Case “ Quản lý tiếp công dân 33 Hình 3.5 Biểu đồ Use Case gói Quản lý tiếp công dân Gói Use Case con Quản lý tiếp công dân thường xuyên” Hình 3.6 Biểu đồ Use Case gói Quản Lý tiếp công dân thường xuyên” Mô tả chi tiết gói Use Case Gói Use Case con Quản lý tiếp công dân thường xuyên” Use Case “Thêm lượt tiếp dân Bảng 3.2 Mô tả Use Case “Thêm lượt tiếp dân Tên use case Tác nhân Thêm lượt tiếp dân. .. thống quản lý tiếp công dân của Ủy ban Nhân dân Thành phố Vinh Các nội dung chi tiết được trình bày bao gồm: Khảo sát bài toán quản lý tiếp công dân, phân tích bài toán quản lý tiếp công dân, đặc tả yêu cầu hệ thống, phân tích các chức năng hệ thống, thiết kế hệ thống 3.1 Khảo sát và phân tích bài toán quản lý tiếp công dân Quản lý tiếp công dân của Ủy ban Nhân dân Thành phố Vinh nhằm mục đích quản lý. .. phản ánh của công dân; giải thích, 12 hướng dẫn cho công dân về việc thực hiện khiếu nại, tố cáo, kiến nghị, phản ánh theo đúng quy định của pháp luật Tiếp công dân bao gồm tiếp công dân thường xuyên, tiếp công dân định kỳ và tiếp công dân đột xuất Nơi tiếp công dân bao gồm Trụ sở tiếp công dân, địa điểm tiếp công dân hoặc nơi làm việc khác do cơ quan, tổ chức, đơn vị có trách nhiệm tiếp công dân bố trí... đáp ứng được yêu cầu nghiệp vụ của quản lý tiếp công dân 22 Các loại văn bản của tiếp công dân thường xuyên và tiếp công dân định kỳ (đột xuất), các loại văn bản báo cáo, tổng hợp tiếp công dân Lưu trữ các thông tin trên phần mềm và sourcecode tiếp công dân và các tài liệu tham khảo cho người sử dụng Thông tin tra cứu, tìm kiếm cho công tác quản lý nghiệp vụ tiếp công dân Thao tác trên dữ liệu - Quy trình... Thao tác trên dữ liệu - Quy trình cập nhật, truy nhập dữ liệu trên mỗi lượt tiếp công dân - Quy trình quản lý tiếp công dân thường xuyên và tiếp công dân định kỳ - Quá trình tổng hợp các lượt tiếp dân - Thao tác tìm kiếm theo các tiêu chí khác nhau… Mục tiêu xây dựng phần mềm ứng dụng quản lý tiếp công dân của Ủy ban Nhân dân Thành phố Vinh: - Tổ chức thống nhất một hệ thống cơ sở dữ liệu nhằm lưu... trang đăng nhập của phần mềm, mỗi tài khoản lại có các chức năng khác nhau Chức năng quản lý tiếp công dân Quản lý tiếp công dân thường xuyên: Chức năng này cho phép người dùng được thêm mới, sửa, xóa, in các lượt tiếp dân thường xuyên Quản lý tiếp công dân định kỳ: Chức năng này cho phép người dùng được thêm mới, sửa, xóa, in kỳ tiếp dân và cấp nhật các lượt tiếp dân trong mỗi kỳ tiếp dân Chức năng tra... lượt tiếp dân Use Case “Sửa lượt tiếp dân Bảng 3.3 Mô tả Use Case “Sửa lượt tiếp dân Tên use case Tác nhân PMQL tiếp công dân Sửa lượt tiếp dân Mục đích PMQL tiếp công dân sử dụng chức năng này để sửa chữa các thông tin của các lượt tiếp dân Mô tả khái quát - Người dùng đã đăng nhập vào hệ thống - Chọn menu tiếp công dân và vào phần tiếp công dân thường xuyên chọn chức năng sửa thông tin các lượt tiếp. .. chương 1 về tầm quan trọng của quản lý tiếp công dân Hàng năm, sau mỗi kỳ tiếp công dân để xử lý các đơn thư khiếu nại, tố cáo, phản ánh của công dân người quản lý tiếp công dân sẽ phải lưu trữ các thông tin hồ sơ, văn bản của công dân gửi đến hoặc các kỳ tiếp dân định kỳ để giải quyết các vụ việc cho công dân Việc lưu trữ này lưu trữ các thông tin: Lưu trữ thông tin của công dân đến tố cáo, phản ánh, khiếu