$(function(){
$("#napoDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#paymentPaymentDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#consignmentStartDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#consignmentEndDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#confiscationDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#boatDisposalDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#directHandoverDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#fieldIvsgtNapoDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#fieldIvsgtReleaseDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#pressurizedStartDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#pressurizedEndDate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
});
$(document).on('click', '#crackdownStatusAddBtn', function () {
getCrackdownStatusEditModal(null);
});
$(document).on('click', '#cdsEditBtn', function () {
$("#crackdownStatusViewModal").modal('hide');
getCrackdownStatusEditModal(Number($("#crackdownStatusViewBody").find("[name='cdsKey']").val()));
});
$(document).on('click', '#saveCrackdownStatusBtn', function (){
saveCrackdownStatus('N')
});
$(document).on('click', '#saveTempBtn', function (){
saveCrackdownStatus('Y')
});
$(document).on('click', '.tr', function (){
getCrackdownStatusViewModal($(this).data('key'));
});
$(document).on('click', '#history-tab', function (){
getCrackdownStatusHistoryViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val());
});
$(document).on('click', '#crackdownStatus-tab', function (){
getCrackdownStatusViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val());
});
$(document).on('click', '.version-tr', function (){
$(this).find('input[name="versionNo"]').prop('checked', true);
const versionNo = $(this).find('input[name="versionNo"]').val();
const cdsKey = $('#cdsEditForm').find('input[name="cdsKey"]').val();
getCrackdownStatusHistoryDetail(versionNo, cdsKey);
});
$(document).on('change', 'select[name="crackdownPolice"]', function (){
dynamicOption('select[name="crackdownBoat"]', $(this).val());
});
$(document).on('click', '#sailorAddBtn', function (){
$('#sailorDiv').append(
'
'
+ '
'
+ '
'
+ ''
+ '
'
+ '
'
+ ''
+ '
'
+ '
'
+ '
'
)
});
$(document).on('click', '#violationAddBtn', function (){
let violation = '';
commonCode.VT.forEach(function (item){
violation += '';
})
$('#violationDiv').append(
''
+ ''
+ ''
+ '
'
)
});
$(document).on('click', '#sailorRemoveBtn', function (){
$(this).parent().remove();
let deleteKey = $(this).parent().children("input[name='sailorKey']").val();
$("#cdsEditForm").append('');
});
$(document).on('click', '#violationRemoveBtn', function (){
$(this).parent().remove();
let deleteKey = $(this).parent().children("input[name='violationKey']").val();
$("#cdsEditForm").append('');
});
$(document).on('change', '.violation', function (){
if ($(this).val() == 'etc') {
$(this).after(
''
+ ''
+ '
'
);
} else {
$(this).next('.etcDiv').remove();
}
});
$(document).on('change', '#fisheryType', function (){
if ($(this).val() == 'etc') {
$(this).after(
''
+ ''
+ '
'
);
} else {
$(this).next().remove();
}
});
$(document).on('change', '#crackdownPolice', function (){
if ($(this).val() == 'etc') {
$(this).after(
''
+ ''
+ '
'
);
} else {
$(this).next().remove();
}
});
$(document).on('change', '#crackdownBoat', function (){
if ($(this).val() == 'etc') {
$(this).after(
''
+ ''
+ '
'
);
} else {
$(this).next().remove();
}
});
$(document).on('change', '#boatMaterial', function (){
if ($(this).val() == 'etc') {
$(this).after(
''
+ ''
+ '
'
);
} else {
$(this).next().remove();
}
});
$(document).on('change', '#processStatus', function (){
if ($(this).val() == 'etc') {
$(this).after(
''
+ ''
+ '
'
);
} else {
$(this).next().remove();
}
});
$(document).on('click', '#cdsDownExcel', function (){
exportExcel('불법조업 불법어선 단속현황');
});
function getCrackdownStatusHistoryDetail(versionNo, cdsKey){
$.ajax({
url: '/faStatistics/crackdownStatus/crackdownStatusHistoryDetail',
data: {
versionNo : versionNo,
cdsKey : cdsKey
},
type: 'GET',
dataType:"html",
success: function(html){
$("#historyDetailDiv").empty().append(html);
},
error:function(){
}
});
}
function getCrackdownStatusViewModal(cdsKey){
$.ajax({
url: '/faStatistics/crackdownStatus/crackdownStatusViewModal',
data: {cdsKey: cdsKey},
type: 'GET',
dataType:"html",
success: function(html){
$("#cdsEditBody").empty();
$("#crackdownStatusViewBody").empty().append(html)
$("#crackdownStatusViewModal").modal('show');
},
error:function(){
}
});
}
function getCrackdownStatusHistoryViewModal(cdsKey){
$.ajax({
url: '/faStatistics/crackdownStatus/crackdownStatusHistoryViewModal',
data: {cdsKey: cdsKey},
type: 'GET',
dataType:"html",
success: function(html){
$("#crackdownStatusViewBody").empty().append(html)
$("#crackdownStatusViewModal").modal('show');
},
error:function(){
}
});
}
function getCrackdownStatusEditModal(cdsKey){
$.ajax({
url: '/faStatistics/crackdownStatus/crackdownStatusEditModal',
data: {
cdsKey: cdsKey
},
type: 'GET',
dataType:"html",
success: function(html){
$("#crackdownStatusViewBody").empty();
$("#crackdownStatusEditModalContent").empty().append(html);
$("#crackdownStatusEditModal").modal('show');
$("#napoDt").datetimepicker({
format:'Y-m-d H:i',
lang:'kr'
});
$("#birthdate").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#paymentPaymentDt").datetimepicker({
format:'Y-m-d H:i',
lang:'kr'
});
$("#consignmentStartDt").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#consignmentEndDt").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#evictionDt").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#returnDt").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#confiscationDt").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#boatDisposalDt").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#directHandoverDt").datepicker({
format: "yyyy-mm-dd",
language: "ko"
});
$("#fieldIvsgtNapoDt").datetimepicker({
format:'Y-m-d H:i',
lang:'kr'
});
$("#fieldIvsgtReleaseDt").datetimepicker({
format:'Y-m-d H:i',
lang:'kr'
});
$("#pressurizedStartDt").datetimepicker({
format:'Y-m-d H:i',
lang:'kr'
});
$("#pressurizedEndDt").datetimepicker({
format:'Y-m-d H:i',
lang:'kr'
});
},
error:function(){
}
});
}
function saveCrackdownStatus(saveYn){
$('input[name="fieldIvsgtTimeTaken"]').val(dateTimeCalc($("#fieldIvsgtNapoDt").val(), $("#fieldIvsgtReleaseDt").val()));
$('input[name="pressurizedTimeTaken"]').val(dateTimeCalc($("#pressurizedStartDt").val(), $("#pressurizedEndDt").val()));
if(contentCheck()){
if(confirm("저장하시겠습니까?")){
$("#saveYn").val(saveYn);
contentFade("in");
const formData = new FormData($("#cdsEditForm")[0]);
let violationList = [];
let sailorList = [];
sailorList.push(
{
sailorKey: $("#cdsEditForm").find('input[name="captinSailorKey"]').val() != '' && $("#cdsEditForm").find('input[name="captinSailorKey"]').val() != 'false' ? Number($("#cdsEditForm").find('input[name="captinSailorKey"]').val()) : null,
position: 'POS001',
sailorNameKr: $("#cdsEditForm").find('input[name="sailorNameKr"]').val() != '' ? $("#cdsEditForm").find('input[name="sailorNameKr"]').val() : null,
isRestriction: $("#cdsEditForm").find('select[name="captin"]').val() != '' ? $("#cdsEditForm").find('select[name="captin"]').val() : null,
birthdate: $("#cdsEditForm").find('input[name="birthdate"]').val() != '' ? $("#cdsEditForm").find('input[name="birthdate"]').val() : null
},
{
sailorKey: $("#cdsEditForm").find('input[name="mateSailorKey"]').val() != '' && $("#cdsEditForm").find('input[name="mateSailorKey"]').val() != 'false' ? Number($("#cdsEditForm").find('input[name="mateSailorKey"]').val()) : null,
position: 'POS002',
sailorNameKr: null,
isRestriction: $("#cdsEditForm").find('select[name="mate"]').val() != '' ? $("#cdsEditForm").find('select[name="mate"]').val() : null
},
{
sailorKey: $("#cdsEditForm").find('input[name="wardenSailorKey"]').val() != '' && $("#cdsEditForm").find('input[name="wardenSailorKey"]').val() != 'false' ? Number($("#cdsEditForm").find('input[name="wardenSailorKey"]').val()) : null,
position: 'POS003',
sailorNameKr: null,
isRestriction: $("#cdsEditForm").find('select[name="warden"]').val() != '' ? $("#cdsEditForm").find('select[name="warden"]').val() : null
}
);
$("select[name='sailor']").each(function (){
sailorList.push({
sailorKey: $(this).parent().parent().find('input[name="sailorKey"]').val() != undefined ? Number($(this).parent().parent().find('input[name="sailorKey"]').val()) : null,
sailorNameKr: $(this).parent().parent().find('input[name="sailorNameKr"]').val(),
position: 'POS006',
isRestriction: $(this).val() != undefined ? $(this).val() : null
});
});
for (let i=0; i < sailorList.length; i++) {
if (sailorList[i].sailorKey != null) {
formData.append(`sailorList[${i}].sailorKey`, sailorList[i].sailorKey);
}
if (sailorList[i].sailorNameKr != null) {
formData.append(`sailorList[${i}].sailorNameKr`, sailorList[i].sailorNameKr);
}
formData.append(`sailorList[${i}].position`, sailorList[i].position);
if (sailorList[i].isRestriction != null) {
formData.append(`sailorList[${i}].isRestriction`, sailorList[i].isRestriction);
}
if (sailorList[i].birthdate != null) {
formData.append(`sailorList[${i}].birthdate`, sailorList[i].birthdate);
}
}
$(".violation").each(function (){
violationList.push({
violationKey: $(this).parent().find('input[name="violationKey"]').val() != undefined ? Number($(this).parent().find('input[name="violationKey"]').val()) : null,
fbKey: $("#cdsEditForm").find('input[name="fbKey"]').val() != undefined ? Number($("#cdsEditForm").find('input[name="fbKey"]').val()) : null,
violation: $(this).val() != '' ? $(this).val() : null,
violationEtc: $(this).parent().find('input[name="violationEtc"]').val() != undefined ? $(this).parent().find('input[name="violationEtc"]').val() : null
});
});
for (let i=0; i < violationList.length; i++) {
if (violationList[i].violationKey != null) {
formData.append(`violationList[${i}].violationKey`, violationList[i].violationKey);
}
if (violationList[i].fbKey != null) {
formData.append(`violationList[${i}].fbKey`, violationList[i].fbKey);
}
if (violationList[i].violation != null) {
formData.append(`violationList[${i}].violation`, violationList[i].violation);
}
if (violationList[i].violationEtc != null) {
formData.append(`violationList[${i}].violationEtc`, violationList[i].violationEtc);
}
}
$.ajax({
type : 'POST',
data : formData,
url : "/faStatistics/crackdownStatus/saveCrackdownStatus",
processData: false,
contentType: false,
success : function(result) {
alert("저장되었습니다.");
contentFade("out");
$("#crackdownStatusEditModal").modal('hide');
},
error : function(xhr, status) {
alert("저장에 실패하였습니다.")
contentFade("out");
}
})
}
}
}
function contentCheck(){
let flag = true;
if(!$('input[name="boatNameKr"]').val()) {
alert('선명을 입력해주세요.');
$('input[name="boatNameKr"]').focus();
return false;
}
if(!$('select[name="processStatus"]').val()) {
alert('처리현황을 선택해주세요.');
$('select[name="processStatus"]').focus();
return false;
}
return flag;
}
function exportExcel(name){
var excelHandler = {
getExcelFileName : function(){
return name+getToday()+'.xlsx'; //파일명
},
getSheetName : function(){
return name;
},
getExcelData : function(){
return document.getElementById('cdsTable'); //TABLE id
},
getWorksheet : function(){
return XLSX.utils.table_to_sheet(this.getExcelData());
}
}
// step 1. workbook 생성
var wb = XLSX.utils.book_new();
// step 2. 시트 만들기
var newWorksheet = excelHandler.getWorksheet();
// step 3. workbook에 새로만든 워크시트에 이름을 주고 붙인다.
XLSX.utils.book_append_sheet(wb, newWorksheet, excelHandler.getSheetName());
// step 4. 엑셀 파일 만들기
var wbout = XLSX.write(wb, {bookType:'xlsx', type: 'binary'});
// step 5. 엑셀 파일 내보내기
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), excelHandler.getExcelFileName());
}
function s2ab(s) {
var buf = new ArrayBuffer(s.length); //convert s to arrayBuffer
var view = new Uint8Array(buf); //create uint8array as viewer
for (var i=0; i