เตรียมรายงาน แบบข้อตกลงการปฏิบัติงาน
This commit is contained in:
@@ -88,7 +88,97 @@ namespace TodoAPI2.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Download Report
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// </remarks>
|
||||||
|
/// <returns>Return list of items by specifced keyword</returns>
|
||||||
|
/// <response code="200">Returns the item</response>
|
||||||
|
/// <response code="500">Error Occurred</response>
|
||||||
|
[HttpGet("rep_eva_p01_report")]
|
||||||
|
[ProducesResponseType(typeof(FileStreamResult), 200)]
|
||||||
|
[ProducesResponseType(400)]
|
||||||
|
[ProducesResponseType(500)]
|
||||||
|
//[ValidateAntiForgeryToken]
|
||||||
|
public IActionResult rep_eva_p01_report(rep_eva_p01ReportRequestModel model)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized();
|
||||||
|
|
||||||
|
var stream = new MemoryStream();
|
||||||
|
Document document = new Document();
|
||||||
|
PdfCopy writer = new PdfCopy(document, stream);
|
||||||
|
document.Open();
|
||||||
|
|
||||||
|
var data = GetReportP01(model);
|
||||||
|
|
||||||
|
PdfReader reader = new PdfReader(data);
|
||||||
|
reader.ConsolidateNamedDestinations();
|
||||||
|
|
||||||
|
for (int i = 1; i <= reader.NumberOfPages; i++)
|
||||||
|
{
|
||||||
|
PdfImportedPage page = writer.GetImportedPage(reader, i);
|
||||||
|
writer.AddPage(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Close();
|
||||||
|
|
||||||
|
writer.Close();
|
||||||
|
document.Close();
|
||||||
|
|
||||||
|
var data2 = stream.ToArray();
|
||||||
|
var stream2 = new MemoryStream(data2);
|
||||||
|
|
||||||
|
return File(stream2, model.contentType);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogCritical($"Exception while GetReport.", ex);
|
||||||
|
return StatusCode(500, $"{ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private byte[] GetReportP01(rep_eva_p01ReportRequestModel model)
|
||||||
|
{
|
||||||
|
var httpclient = new WebClient();
|
||||||
|
|
||||||
|
string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL");
|
||||||
|
string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite");
|
||||||
|
string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username");
|
||||||
|
string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password");
|
||||||
|
|
||||||
|
var p1 = GetParameter(model.detail_id);
|
||||||
|
|
||||||
|
var stream = new MemoryStream();
|
||||||
|
Document document = new Document();
|
||||||
|
PdfCopy writer = new PdfCopy(document, stream);
|
||||||
|
document.Open();
|
||||||
|
|
||||||
|
string url = $"{mainurl}{reportsite}/rep_eva_p01.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}";
|
||||||
|
|
||||||
|
var data = httpclient.DownloadData(url);
|
||||||
|
|
||||||
|
PdfReader reader = new PdfReader(data);
|
||||||
|
reader.ConsolidateNamedDestinations();
|
||||||
|
|
||||||
|
for (int i = 1; i <= reader.NumberOfPages; i++)
|
||||||
|
{
|
||||||
|
PdfImportedPage page = writer.GetImportedPage(reader, i);
|
||||||
|
writer.AddPage(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.Close();
|
||||||
|
|
||||||
|
writer.Close();
|
||||||
|
document.Close();
|
||||||
|
|
||||||
|
var data2 = stream.ToArray();
|
||||||
|
return data2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
/// Download Report
|
/// Download Report
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
|
|||||||
21
Models/rep_eva_x/rep_eva_p01ReportRequestModel.cs
Normal file
21
Models/rep_eva_x/rep_eva_p01ReportRequestModel.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using TTSW.EF;
|
||||||
|
using TTSW.Utils;
|
||||||
|
using TTSW.Constant;
|
||||||
|
using TTSW.Common;
|
||||||
|
|
||||||
|
namespace TodoAPI2.Models
|
||||||
|
{
|
||||||
|
public class rep_eva_p01ReportRequestModel : rep_eva_p01SearchModel
|
||||||
|
{
|
||||||
|
public string filetype { get; set; }
|
||||||
|
|
||||||
|
public string contentType { get { return MyHelper.GetContentType(filetype); } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
23
Models/rep_eva_x/rep_eva_p01SearchModel.cs
Normal file
23
Models/rep_eva_x/rep_eva_p01SearchModel.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using TTSW.EF;
|
||||||
|
using TTSW.Utils;
|
||||||
|
using TTSW.Constant;
|
||||||
|
using TTSW.Common;
|
||||||
|
|
||||||
|
namespace TodoAPI2.Models
|
||||||
|
{
|
||||||
|
public class rep_eva_p01SearchModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public Guid id { get; set; }
|
||||||
|
|
||||||
|
public int detail_id { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
@section FooterPlaceHolder{
|
@section FooterPlaceHolder{
|
||||||
<script src="~/js/eva_create_evaluation/eva_create_evaluation_d.js?version=@MyHelper.GetDummyText()"></script>
|
<script src="~/js/eva_create_evaluation/eva_create_evaluation_d.js?version=@MyHelper.GetDummyText()"></script>
|
||||||
<script src="~/js/eva_create_evaluation_detail/eva_create_evaluation_detail_summary.js?version=@MyHelper.GetDummyText()"></script>
|
<script src="~/js/eva_create_evaluation_detail/eva_create_evaluation_detail_summary.js?version=@MyHelper.GetDummyText()"></script>
|
||||||
<script src="~/js/rep_eva_x/rep_eva_x_report.js"></script>
|
<script src="~/js/rep_eva_x/rep_eva_x_report.js?version=@MyHelper.GetDummyText()"></script>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
var id = getUrlParameter("id");
|
var id = getUrlParameter("id");
|
||||||
|
|||||||
@@ -209,6 +209,30 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="modal fade" id="report_xModel" style="z-index:1500" tabindex="-1" role="dialog" aria-labelledby="report_xModelLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="report_xModelLabel">พิมพ์แบบข้อตกลงการประเมิน</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<iframe id="report_result" style="display:none; height:500px; width:100%;"></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">ปิด</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<section class="wrapper">
|
<section class="wrapper">
|
||||||
<div class="title col-md-12"><div class="line"></div>การประเมินผลการปฏิบัติงานของพนักงานเนติบัณฑิตยสภา</div>
|
<div class="title col-md-12"><div class="line"></div>การประเมินผลการปฏิบัติงานของพนักงานเนติบัณฑิตยสภา</div>
|
||||||
|
|
||||||
@@ -374,6 +398,7 @@
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-md-12">
|
<div class="form-group col-md-12">
|
||||||
|
<button class="btn btn-info" onclick="javascript:rep_eva_p01_DoSearch('pdf');">พิมพ์แบบข้อตกลง</button>
|
||||||
<button type="button" class="btn btn-submit status_self" onclick="javascript:eva_create_evaluation_detail_status_PutUpdate('next0')">ส่งข้อตกลงการประเมิน</button>
|
<button type="button" class="btn btn-submit status_self" onclick="javascript:eva_create_evaluation_detail_status_PutUpdate('next0')">ส่งข้อตกลงการประเมิน</button>
|
||||||
<button type="button" class="btn btn-submit status_self" onclick="javascript:alert('บันทึกเรียบร้อย')">บันทึก</button>
|
<button type="button" class="btn btn-submit status_self" onclick="javascript:alert('บันทึกเรียบร้อย')">บันทึก</button>
|
||||||
<button type="button" class="btn btn-danger" onclick="javascript:window_close()"><i class="fa fa-repeat"></i> กลับ</button>
|
<button type="button" class="btn btn-danger" onclick="javascript:window_close()"><i class="fa fa-repeat"></i> กลับ</button>
|
||||||
@@ -388,56 +413,57 @@
|
|||||||
<script src="~/js/eva_evaluation_behavior/eva_evaluation_behavior.js?version=@MyHelper.GetDummyText()"></script>
|
<script src="~/js/eva_evaluation_behavior/eva_evaluation_behavior.js?version=@MyHelper.GetDummyText()"></script>
|
||||||
<script src="~/js/eva_create_evaluation_detail_status/eva_create_evaluation_detail_status_d.js?version=@MyHelper.GetDummyText()"></script>
|
<script src="~/js/eva_create_evaluation_detail_status/eva_create_evaluation_detail_status_d.js?version=@MyHelper.GetDummyText()"></script>
|
||||||
<script src="~/js/eva_idp_plan_owner/eva_idp_plan_owner.js?version=@MyHelper.GetDummyText()"></script>
|
<script src="~/js/eva_idp_plan_owner/eva_idp_plan_owner.js?version=@MyHelper.GetDummyText()"></script>
|
||||||
|
<script src="~/js/rep_eva_x/rep_eva_p01_report.js?version=@MyHelper.GetDummyText()"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
var status_self = "";
|
var status_self = "";
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
var id = getUrlParameter("id");
|
var id = getUrlParameter("id");
|
||||||
if (id) {
|
if (id) {
|
||||||
eva_create_evaluation_detail_agreement_SetEditForm(id);
|
eva_create_evaluation_detail_agreement_SetEditForm(id);
|
||||||
eva_evaluation_achievement_InitiateDataTable(id);
|
eva_evaluation_achievement_InitiateDataTable(id);
|
||||||
eva_evaluation_achievement_InitialForm();
|
eva_evaluation_achievement_InitialForm();
|
||||||
eva_evaluation_behavior_InitiateDataTable(id);
|
eva_evaluation_behavior_InitiateDataTable(id);
|
||||||
eva_evaluation_behavior_InitialForm();
|
eva_evaluation_behavior_InitialForm();
|
||||||
eva_create_evaluation_detail_status_SetEditForm(id);
|
eva_create_evaluation_detail_status_SetEditForm(id);
|
||||||
eva_idp_plan_owner_InitiateDataTable(id);
|
eva_idp_plan_owner_InitiateDataTable(id);
|
||||||
eva_idp_plan_owner_InitialForm();
|
eva_idp_plan_owner_InitialForm();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
eva_create_evaluation_detail_agreement_SetCreateForm();
|
eva_create_evaluation_detail_agreement_SetCreateForm();
|
||||||
|
}
|
||||||
|
SetupValidationRemark("eva_create_evaluation_detail_agreement");
|
||||||
|
SetupValidationRemark("eva_evaluation_achievement");
|
||||||
|
SetupValidationRemark("eva_evaluation_behavior");
|
||||||
|
SetupValidationRemark("eva_idp_plan_owner");
|
||||||
|
|
||||||
|
setTimeout(CheckPermission, 1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
function CheckPermission() {
|
||||||
|
if (status_self === "Y") {
|
||||||
|
$(".status_self").hide();
|
||||||
|
$("#status").text("คุณส่งแบบประเมินไปแล้ว");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SetupValidationRemark("eva_create_evaluation_detail_agreement");
|
|
||||||
SetupValidationRemark("eva_evaluation_achievement");
|
|
||||||
SetupValidationRemark("eva_evaluation_behavior");
|
|
||||||
SetupValidationRemark("eva_idp_plan_owner");
|
|
||||||
|
|
||||||
setTimeout(CheckPermission, 1000);
|
function OnWeightChanged(c) {
|
||||||
});
|
if ($(c).val() < 0) {
|
||||||
|
$(c).val(0)
|
||||||
function CheckPermission(){
|
}
|
||||||
if(status_self === "Y"){
|
if ($(c).val() > 100) {
|
||||||
$(".status_self").hide();
|
$(c).val(100)
|
||||||
$("#status").text("คุณส่งแบบประเมินไปแล้ว");
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function OnWeightChanged(c){
|
|
||||||
if($(c).val() < 0){
|
|
||||||
$(c).val(0)
|
|
||||||
}
|
}
|
||||||
if($(c).val() > 100){
|
|
||||||
$(c).val(100)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function CheckWeightBeforeSubmitStatus(){
|
function CheckWeightBeforeSubmitStatus() {
|
||||||
if(parseInt($("#sum_a").text()) !== 100){
|
if (parseInt($("#sum_a").text()) !== 100) {
|
||||||
return false;
|
return false;
|
||||||
}else{
|
} else {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
|
|||||||
10
tb320eva.xml
10
tb320eva.xml
@@ -3759,6 +3759,16 @@
|
|||||||
<response code="200">Returns the item</response>
|
<response code="200">Returns the item</response>
|
||||||
<response code="500">Error Occurred</response>
|
<response code="500">Error Occurred</response>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:TodoAPI2.Controllers.rep_eva_xController.rep_eva_p01_report(TodoAPI2.Models.rep_eva_p01ReportRequestModel)">
|
||||||
|
<summary>
|
||||||
|
Download Report
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
</remarks>
|
||||||
|
<returns>Return list of items by specifced keyword</returns>
|
||||||
|
<response code="200">Returns the item</response>
|
||||||
|
<response code="500">Error Occurred</response>
|
||||||
|
</member>
|
||||||
<member name="M:TodoAPI2.Controllers.rep_eva_xController.rep_eva_x_report(TodoAPI2.Models.rep_eva_xReportRequestModel)">
|
<member name="M:TodoAPI2.Controllers.rep_eva_xController.rep_eva_x_report(TodoAPI2.Models.rep_eva_xReportRequestModel)">
|
||||||
<summary>
|
<summary>
|
||||||
Download Report
|
Download Report
|
||||||
|
|||||||
58
wwwroot/js/rep_eva_x/rep_eva_p01_report.js
Normal file
58
wwwroot/js/rep_eva_x/rep_eva_p01_report.js
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
var rep_eva_x_API = "/api/rep_eva_x/";
|
||||||
|
|
||||||
|
//================= Search Customizaiton =========================================
|
||||||
|
|
||||||
|
function rep_eva_x_GetSearchParameter(fileType) {
|
||||||
|
var rep_eva_xSearchObject = new Object();
|
||||||
|
rep_eva_xSearchObject.detail_id = getUrlParameter("id");
|
||||||
|
|
||||||
|
|
||||||
|
rep_eva_xSearchObject.fileType = fileType;
|
||||||
|
|
||||||
|
console.log(rep_eva_xSearchObject);
|
||||||
|
|
||||||
|
return rep_eva_xSearchObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
function rep_eva_x_FeedDataToSearchForm(data) {
|
||||||
|
$("#s_rep_eva_x_detail_id").val(data.detail_id);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//================= Form Data Customizaiton =========================================
|
||||||
|
|
||||||
|
function rep_eva_x_InitialForm(s) {
|
||||||
|
var successFunc = function (result) {
|
||||||
|
rep_eva_x_FeedDataToSearchForm(result);
|
||||||
|
endLoad();
|
||||||
|
};
|
||||||
|
startLoad();
|
||||||
|
AjaxGetRequest(apisite + rep_eva_x_API + "GetBlankItem", successFunc, AlertDanger);
|
||||||
|
}
|
||||||
|
|
||||||
|
//================= Data Table =========================================
|
||||||
|
|
||||||
|
var s_rep_eva_x_customValidation = function (group) {
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function rep_eva_p01_DoSearch(fileType) {
|
||||||
|
|
||||||
|
var p = $.param(rep_eva_x_GetSearchParameter(fileType));
|
||||||
|
//console.log(p);
|
||||||
|
|
||||||
|
var report_url = apisite + "/api/rep_eva_x/rep_eva_p01_report?" + p;
|
||||||
|
|
||||||
|
if (fileType === "pdf") {
|
||||||
|
$("#report_result").attr("src", "");
|
||||||
|
$("#report_result").attr("src", report_url);
|
||||||
|
$("#report_result").show();
|
||||||
|
//window.open(report_url);
|
||||||
|
$("#report_xModel").modal("show");
|
||||||
|
} else {
|
||||||
|
$("#report_result").hide();
|
||||||
|
window.open(report_url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user