5633 lines
195 KiB
C#
5633 lines
195 KiB
C#
#define TRACE
|
||
#define DEBUG
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Diagnostics;
|
||
using System.Drawing;
|
||
using System.Dynamic;
|
||
using System.Globalization;
|
||
using System.IO;
|
||
using System.IO.Ports;
|
||
using System.Linq;
|
||
using System.Net;
|
||
using System.Net.NetworkInformation;
|
||
using System.Reflection;
|
||
using System.Runtime.InteropServices;
|
||
using System.ServiceModel;
|
||
using System.Text;
|
||
using System.Text.RegularExpressions;
|
||
using System.Threading;
|
||
using System.Windows.Forms;
|
||
using System.Xml;
|
||
using Citizen.LayoutUtilities.Printing;
|
||
using com.citizen.sdk.LabelPrint;
|
||
using MySql.Data.MySqlClient;
|
||
using PCSC;
|
||
using PCSC.Exceptions;
|
||
using PCSC.Iso7816;
|
||
using SoM_PrnControl;
|
||
using SoM_PrnControl.YoyakuServiceReference;
|
||
|
||
|
||
namespace qk30ic;
|
||
|
||
public class Form1 : Form
|
||
{
|
||
public string Tag_LED = "IT0\rID0\r";
|
||
|
||
public string Tag_LED_ERR = "IT1\rID4\r";
|
||
|
||
public static string LogfileName = "";
|
||
|
||
public static string LogfilePath = "";
|
||
|
||
public const int OutLogNum = 15;
|
||
|
||
public const int OutConfNum = 34;
|
||
|
||
public const int RESTART_TIME = 60;
|
||
|
||
public static string[,] koumoku = new string[15, 8];
|
||
|
||
public static string[] str_Confile = new string[34];
|
||
|
||
public static int GIP_NUM = 12;
|
||
|
||
public static int MSG_NUM = 13;
|
||
|
||
public static string str_layoutFile = "";
|
||
|
||
public static string READGIP = "";
|
||
|
||
public static string HTTPGIP = "";
|
||
|
||
public static string CONFIG_PATH = "SOM_config.dat";
|
||
|
||
public static string TESTQR_STRING = "So-Manager TestQR";
|
||
|
||
private dynamic ifd = null;
|
||
|
||
private dynamic mif = null;
|
||
|
||
private dynamic icc = null;
|
||
|
||
public static string readerName = "Circle CIR315 CL 0";
|
||
|
||
public static string QRdata = "";
|
||
|
||
public static string QRdata2 = "";
|
||
|
||
public static byte[] vinfBuff = new byte[257];
|
||
|
||
public static byte[] vinfBuff2 = new byte[257];
|
||
|
||
public static uint QRresult = 0u;
|
||
|
||
public static uint MFresult = 10u;
|
||
|
||
public static string MFCODE = "";
|
||
|
||
public static string MFCODE_CHK = "4400";
|
||
|
||
public static int Retry_num = 5;
|
||
|
||
public static string DB_PORT_NUMBER;
|
||
|
||
public static string DB_NAME;
|
||
|
||
public static string ERRORINFO = "";
|
||
|
||
public static string DEBUG_MODE = "0";
|
||
|
||
public static string BEEP_MODE = "1";
|
||
|
||
public static string TodayLogName;
|
||
|
||
public static string ReceptionType = "";
|
||
|
||
private Form2 form2 = new Form2();
|
||
|
||
public int EndType = 0;
|
||
|
||
public const int ERROR_CODE_NONMFC = 1;
|
||
|
||
public const int ERROR_CODE_NONQRC = 3;
|
||
|
||
public const int ERROR_CODE_NONUID = 5;
|
||
|
||
public const int ERROR_CODE_PRNPM1 = 50;
|
||
|
||
public const int ERROR_CODE_PRNPM2 = 51;
|
||
|
||
public const int ERROR_CODE_PRNPM3 = 52;
|
||
|
||
public const int ERROR_CODE_PRNPM4 = 53;
|
||
|
||
public const int ERROR_CODE_CONFRD = 80;
|
||
|
||
public const int ERROR_CODE_LOGFRD = 111;
|
||
|
||
public const int ERROR_CODE_LOGFWR = 112;
|
||
|
||
public const int ERROR_CODE_DBOPEN = 100;
|
||
|
||
public const int ERROR_CODE_PAPRNG = 104;
|
||
|
||
public const int ERROR_CODE_LAYOUT = 110;
|
||
|
||
public const int ERROR_CODE_PRNINI = 200;
|
||
|
||
public const int ERROR_CODE_MFIINI = 300;
|
||
|
||
public const int ERROR_CODE_QRCINI = 301;
|
||
|
||
public const int ERROR_CODE_DBERR = 113;
|
||
|
||
public const int ERROR_CODE_PRNERR = 201;
|
||
|
||
public const int ERROR_CODE_QRCERR = 303;
|
||
|
||
public const int ERROR_CODE_MFIERR = 302;
|
||
|
||
public const int ERROR_CODE_QRTEST = 400;
|
||
|
||
public const int LETYPE_NORMAL = 0;
|
||
|
||
public const int LETYPE_START = 2;
|
||
|
||
public const int LETYPE_DBOPEN = 10;
|
||
|
||
public const int LETYPE_LAYOUT = 11;
|
||
|
||
public const int LETYPE_PRNINI = 12;
|
||
|
||
public const int LETYPE_MFIINI = 13;
|
||
|
||
public const int LETYPE_QRCINI = 14;
|
||
|
||
public const int LETYPE_DBERR = 15;
|
||
|
||
public const int LETYPE_NONMFC = 20;
|
||
|
||
public const int LETYPE_NONUID = 21;
|
||
|
||
public const int LETYPE_NONQRC = 30;
|
||
|
||
public const int LETYPE_PRNERR = 40;
|
||
|
||
public const int LETYPE_QRCERR = 50;
|
||
|
||
public const int LETYPE_MFIERR = 55;
|
||
|
||
public const int LETYPE_CONFRD = 80;
|
||
|
||
public const int LETYPE_LOGFRD = 85;
|
||
|
||
public const int LETYPE_LOGFWR = 87;
|
||
|
||
public const int LETYPE_PRNPR1 = 81;
|
||
|
||
public const int LETYPE_PRNPR2 = 82;
|
||
|
||
public const int LETYPE_PRNPR3 = 83;
|
||
|
||
public const int LETYPE_PRNPR4 = 84;
|
||
|
||
public const int LETYPE_PRNPR5 = 85;
|
||
|
||
public const int LETYPE_PRNPR6 = 86;
|
||
|
||
public const int LETYPE_PRNPR7 = 87;
|
||
|
||
public const int LETYPE_PRNPR8 = 88;
|
||
|
||
public const int LETYPE_QRTEST = 90;
|
||
|
||
public const int LETYPE_ISDQRC = 91;
|
||
|
||
public const int LETYPE_ISDMFC = 92;
|
||
|
||
public const int LETYPE_UNPMFC = 93;
|
||
|
||
public const int LETYPE_NWERR = 100;
|
||
|
||
public static string connectionParams;
|
||
|
||
public static string genmenQR = "Bf7EW8ZMNMCoqaOVA1qyR7pQD03qFRYXKDMIuzDLH3vEhjoQ25rRa0VYBC+SW+JO";
|
||
|
||
public string DBREAD_print_layout = "select print_layout from park, city where park.city_id=city.city_id and park.park_id=";
|
||
|
||
public string[] DBREAD_Prndat01 = new string[4] { "select distinct ta3.contract_id, ta3.park_id, t1.park_name, t3.ptype_subject, t4.city_name, ta1.user_seq, ta1.user_id, ta2.usertype_subject1, ta3.contract_periods, ta3.contract_periode, ta3.contract_id, ta3.contract_seal_issue, ta3.printable_date, ta3.contract_flag, ta3.contract_permission, ta3.pplace_no, CAST(ta3.tag_qr_flag AS CHAR) AS tag_qr_flag, t5.zone_name from (park t1 ,user ta1) inner join price_a t2 on t1.park_id = t2.park_id inner join ptype t3 on t2.ptype_id = t3.ptype_id inner join city t4 on t1.city_id = t4.city_id inner join regular_contract ta3 on ta1.user_seq = ta3.user_id join usertype ta2 on ta3.user_categoryid = ta2.user_categoryid and ta3.price_parkplaceid = t2.price_parkplaceid left join zone t5 on ta3.zone_id = t5.zone_id where ta3.park_id = t1.park_id and ta3.contract_flag = 1 and ta3.contract_permission = 1 ", "select distinct t1.park_name, t3.ptype_subject, t4.city_name ,ta1.user_seq, ta1.user_id, ta2.usertype_subject1, ta3.contract_periods, ta3.contract_periode, ta3.contract_id, ta3.contract_seal_issue, ta3.printable_date, ta3.contract_flag, ta3.contract_permission, ta3.pplace_no, CAST(ta3.tag_qr_flag AS CHAR) AS tag_qr_flag, ta3.park_id, t5.zone_name from (park t1, user ta1, usertype ta2) inner join price_a t2 on t1.park_id = t2.park_id inner join ptype t3 on t2.ptype_id = t3.ptype_id inner join city t4 on t1.city_id = t4.city_id inner join regular_contract ta3 on ta3.user_categoryid=ta2.user_categoryid and ta3.price_parkplaceid = t2.price_parkplaceid left join zone t5 on ta3.zone_id = t5.zone_id where ta3.park_id = t1.park_id and ta1.user_seq = ta3.user_id and ", "select distinct ta3.contract_id, ta3.park_id, t1.park_name, t3.ptype_subject, t4.city_name, ta1.user_seq, ta1.user_id, ta2.usertype_subject1, ta3.contract_periods, ta3.contract_periode, ta3.contract_id, ta3.contract_seal_issue, ta3.printable_date, ta3.contract_flag, ta3.contract_permission, ta3.pplace_no, ta3.tag_qr_flag, t5.zone_name from (park t1 ,user ta1) inner join price_a t2 on t1.park_id = t2.park_id inner join ptype t3 on t2.ptype_id = t3.ptype_id inner join city t4 on t1.city_id = t4.city_id inner join regular_contract ta3 on ta1.user_seq = ta3.user_id INNER JOIN new_contract ON new_contract.contract_id = ta3.contract_id join usertype ta2 on ta3.user_categoryid = ta2.user_categoryid and ta3.price_parkplaceid = t2.price_parkplaceid left join zone t5 on ta3.zone_id = t5.zone_id where new_contract.type = 1 and new_contract.validity = 1 ", "select distinct ta3.contract_id, ta3.park_id, t1.park_name, t3.ptype_subject, t4.city_name, ta1.user_seq, ta1.user_id, ta2.usertype_subject1, ta3.contract_periods, ta3.contract_periode, ta3.contract_id, ta3.contract_seal_issue, ta3.printable_date, ta3.contract_flag, ta3.contract_permission, ta3.pplace_no, ta3.tag_qr_flag, t5.zone_name from (park t1 ,user ta1) inner join price_a t2 on t1.park_id = t2.park_id inner join ptype t3 on t2.ptype_id = t3.ptype_id inner join city t4 on t1.city_id = t4.city_id inner join regular_contract ta3 on ta1.user_seq = ta3.user_id join usertype ta2 on ta3.user_categoryid = ta2.user_categoryid and ta3.price_parkplaceid = t2.price_parkplaceid left join zone t5 on ta3.zone_id = t5.zone_id where ta3.park_id = t1.park_id " };
|
||
|
||
public string[] DBREAD_Prndat02 = new string[4] { " and ta1.user_tag_serial = ", " ta3.contract_qr_id = ", " and ta1.user_tag_serial = ", " and ta1.user_tag_serial = " };
|
||
|
||
public string LOC_contract_id = " ";
|
||
|
||
public string LOC_park_id = " ";
|
||
|
||
public string[] str_logkm = new string[8];
|
||
|
||
public static string[] str_rctbl = new string[10];
|
||
|
||
public static string KpAlive_devid = "";
|
||
|
||
public string[] str_Prndat = new string[13];
|
||
|
||
public static int Prn_MaxNum;
|
||
|
||
public static int Prn_NowNum;
|
||
|
||
public static int Prn_Alert_num;
|
||
|
||
public static int Prn_Alert_flg;
|
||
|
||
public static string Prn_ParkName;
|
||
|
||
public static string Prn_ParkName_Contract;
|
||
|
||
public static string Tag_ParkID;
|
||
|
||
public static string vertext;
|
||
|
||
public static MySqlConnection DBconnect;
|
||
|
||
public static string[] PortList = new string[20];
|
||
|
||
public static DateTime date1 = new DateTime(2018, 1, 1, 12, 0, 0);
|
||
|
||
public static DateTime date2 = new DateTime(2018, 1, 1, 1, 0, 0);
|
||
|
||
public static string str_uid = " ";
|
||
|
||
public static string str_park_name = "";
|
||
|
||
public static int[] park_id_set = new int[500];
|
||
|
||
public static bool test_mode = false;
|
||
|
||
public static LabelPrinter printer = new LabelPrinter();
|
||
private EpsonPrinterTMM30Service epsonPrinter;
|
||
|
||
public Dictionary<string, string> PrnDataField = new Dictionary<string, string>();
|
||
|
||
private string printerPortName = "";
|
||
|
||
public string genmenUsercode = "";
|
||
|
||
public bool genmenFlg = false;
|
||
|
||
public bool genmenFlg_2 = false;
|
||
|
||
private static dynamic kessaiYoyakuArray;
|
||
|
||
private Button kessaiButton;
|
||
|
||
private Label kessaiLabel;
|
||
|
||
private static bool view_mode = false;
|
||
|
||
public bool waiting = true;
|
||
|
||
private string page_name = null;
|
||
|
||
private string[,] storeArray = new string[5, 3]
|
||
{
|
||
{ "1", "セブンイレブン", "SRJ" },
|
||
{ "3", "ファミリーマート", "SRI" },
|
||
{ "5", "デイリーヤマザキ", "SRI" },
|
||
{ "2", "ローソン", "SRI" },
|
||
{ "4", "ミニストップ", "SRI" }
|
||
};
|
||
|
||
private IContainer components = null;
|
||
|
||
private Button button1;
|
||
|
||
private SerialPort serialPort1;
|
||
|
||
private DataGridView dataGridView1;
|
||
|
||
private Label label2;
|
||
|
||
private Label label1;
|
||
private bool quitRequested = false;
|
||
|
||
public Form1()
|
||
{
|
||
InitializeComponent();
|
||
// 允许点 × 或 Alt+F4 时安全退出
|
||
// 允许 Esc / × / Alt+F4 时安全退出(不做耗时操作)
|
||
this.FormClosing += (s, e) =>
|
||
{
|
||
// 只做“发信号”,不要做耗时清理;清理放到主循环外的 EndProc()
|
||
quitRequested = true; // 让所有 while(!quitRequested) 失效
|
||
EndType = 10; // 你的循环里 EndType==10 会触发退出
|
||
genmenFlg_2 = true; // 让外层分支走到 else
|
||
QRresult = 2; // 你的代码:QRresult==2 -> SO_ComCont(50, ...) -> break
|
||
MFresult = 11; // >10 也会触发错误分支并跳出
|
||
|
||
|
||
|
||
// 立刻把焦点和消息泵让出来
|
||
BeginInvoke(new Action(() => { /* 空,使关闭事件尽快返回 */ }));
|
||
};
|
||
base.TopMost = false;
|
||
}
|
||
|
||
private int CheckNewContractRenewalPeriod(int contract_id)
|
||
{
|
||
string cmdText = "\r\n SELECT rc.*, p.*\r\n FROM regular_contract rc\r\n INNER JOIN park p ON rc.park_id = p.park_id\r\n WHERE rc.contract_id = @contract_id;";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@contract_id", contract_id);
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
DateTime now = DateTime.Now;
|
||
DateTime dateTime = now;
|
||
int num = int.Parse((string)mySqlDataReader["update_grace_period_start_date"]);
|
||
TimeSpan timeSpan = TimeSpan.Parse((string)mySqlDataReader["update_grace_period_start_time"]);
|
||
int num2 = int.Parse((string)mySqlDataReader["update_grace_period_end_date"]);
|
||
TimeSpan timeSpan2 = TimeSpan.Parse((string)mySqlDataReader["update_grace_period_end_time"]);
|
||
DateTime dateTime2;
|
||
if (num > DateTime.DaysInMonth(dateTime.Year, dateTime.Month))
|
||
{
|
||
int day = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
dateTime2 = new DateTime(dateTime.Year, dateTime.Month, day) + timeSpan;
|
||
}
|
||
else
|
||
{
|
||
dateTime2 = new DateTime(dateTime.Year, dateTime.Month, num) + timeSpan;
|
||
}
|
||
if (dateTime2 > now)
|
||
{
|
||
dateTime = dateTime.AddMonths(-1);
|
||
if (num > DateTime.DaysInMonth(dateTime.Year, dateTime.Month))
|
||
{
|
||
int day2 = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
dateTime2 = new DateTime(dateTime.Year, dateTime.Month, day2) + timeSpan;
|
||
}
|
||
else
|
||
{
|
||
dateTime2 = new DateTime(dateTime.Year, dateTime.Month, num) + timeSpan;
|
||
}
|
||
}
|
||
if (num2 <= 19)
|
||
{
|
||
dateTime = dateTime.AddMonths(1);
|
||
}
|
||
DateTime dateTime3;
|
||
if (num2 > DateTime.DaysInMonth(dateTime.Year, dateTime.Month))
|
||
{
|
||
int day3 = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
dateTime3 = new DateTime(dateTime.Year, dateTime.Month, day3) + timeSpan2;
|
||
}
|
||
else
|
||
{
|
||
dateTime3 = new DateTime(dateTime.Year, dateTime.Month, num2) + timeSpan2;
|
||
}
|
||
mySqlDataReader.Close();
|
||
Debug.WriteLine("☆☆現在の日: " + now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||
Debug.WriteLine("☆☆更新期間開始日: " + dateTime2.ToString("yyyy-MM-dd HH:mm:ss"));
|
||
Debug.WriteLine("☆☆更新期間終了日: " + dateTime3.ToString("yyyy-MM-dd HH:mm:ss"));
|
||
if (now >= dateTime2 && now <= dateTime3)
|
||
{
|
||
return 1;
|
||
}
|
||
}
|
||
mySqlDataReader.Close();
|
||
ShowContractRenewalPeriodErr();
|
||
return 0;
|
||
}
|
||
|
||
private int CheckContractRenewalPeriod(int contract_id)
|
||
{
|
||
string cmdText = "\r\n SELECT rc.*, p.*\r\n FROM regular_contract rc\r\n INNER JOIN park p ON rc.park_id = p.park_id\r\n WHERE rc.contract_id = @contract_id;";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@contract_id", contract_id);
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
DateTime dateTime = DateTime.Now;
|
||
int num = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
DateTime now = DateTime.Now;
|
||
int num2 = int.Parse((string)mySqlDataReader["update_grace_period_start_date"]);
|
||
TimeSpan timeSpan = TimeSpan.Parse((string)mySqlDataReader["update_grace_period_start_time"]);
|
||
int num3 = int.Parse((string)mySqlDataReader["update_grace_period_end_date"]);
|
||
TimeSpan timeSpan2 = TimeSpan.Parse((string)mySqlDataReader["update_grace_period_end_time"]);
|
||
string s = mySqlDataReader["contract_periode"].ToString();
|
||
DateTime dateTime2 = DateTime.ParseExact(s, "yyyy/MM/dd H:mm:ss", null).AddDays(1.0);
|
||
mySqlDataReader.Close();
|
||
DateTime dateTime3;
|
||
if (num2 > DateTime.DaysInMonth(dateTime.Year, dateTime.Month))
|
||
{
|
||
int day = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
dateTime3 = new DateTime(dateTime.Year, dateTime.Month, day) + timeSpan;
|
||
}
|
||
else
|
||
{
|
||
dateTime3 = new DateTime(dateTime.Year, dateTime.Month, num2) + timeSpan;
|
||
}
|
||
if (dateTime3 > now)
|
||
{
|
||
dateTime = dateTime.AddMonths(-1);
|
||
if (num2 > DateTime.DaysInMonth(dateTime.Year, dateTime.Month))
|
||
{
|
||
int day2 = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
dateTime3 = new DateTime(dateTime.Year, dateTime.Month, day2) + timeSpan;
|
||
}
|
||
else
|
||
{
|
||
dateTime3 = new DateTime(dateTime.Year, dateTime.Month, num2) + timeSpan;
|
||
}
|
||
}
|
||
if (num3 <= 19)
|
||
{
|
||
dateTime = dateTime.AddMonths(1);
|
||
}
|
||
DateTime dateTime4;
|
||
if (num3 > DateTime.DaysInMonth(dateTime.Year, dateTime.Month))
|
||
{
|
||
int day3 = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
dateTime4 = new DateTime(dateTime.Year, dateTime.Month, day3) + timeSpan;
|
||
}
|
||
else
|
||
{
|
||
dateTime4 = new DateTime(dateTime.Year, dateTime.Month, num3) + timeSpan2;
|
||
}
|
||
if (now >= dateTime3 && now <= dateTime4 && dateTime2 >= dateTime3 && dateTime2 <= dateTime4 && dateTime2 >= dateTime3 && dateTime2 <= dateTime4)
|
||
{
|
||
return 1;
|
||
}
|
||
}
|
||
mySqlDataReader.Close();
|
||
ShowContractRenewalPeriodErr();
|
||
return 0;
|
||
}
|
||
|
||
private void KessaiKikanErrButton_Click(object sender, EventArgs e)
|
||
{
|
||
waiting = false;
|
||
}
|
||
|
||
private void ShowContractRenewalPeriodErr()
|
||
{
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_err_01.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
Button button = new Button
|
||
{
|
||
Name = "KessaiKikanErrButton",
|
||
FlatStyle = FlatStyle.Flat,
|
||
BackColor = Color.Transparent,
|
||
ForeColor = Color.Transparent,
|
||
Size = new Size(500, 100),
|
||
Location = new Point(420, 630)
|
||
};
|
||
button.FlatAppearance.BorderSize = 0;
|
||
button.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
button.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
button.Click += KessaiKikanErrButton_Click;
|
||
form2.Controls.Add(button);
|
||
Application.DoEvents();
|
||
DateTime now = DateTime.Now;
|
||
waiting = true;
|
||
while (waiting && (DateTime.Now - now).TotalSeconds < 5.0)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
form2.Controls.Remove(button);
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private int CheckContractRenewal(string usercode)
|
||
{
|
||
int result = 0;
|
||
genmenUsercode = usercode;
|
||
string text = "select distinct t2.user_id, t2.contract_id, t2.contract_flag, t2.contract_permission, t2.contract_renewal from (user t1, regular_contract t2) where t1.user_seq = t2.user_id and t1.user_tag_serial='" + usercode + "' and t1.user_quit_flag = 0 and t1.tag_qr_flag = 0 and t2.contract_flag = 1 and t2.contract_renewal IS NULL AND (t2.contract_cancel_flag NOT IN (1, 2) OR t2.contract_cancel_flag IS NULL) ORDER BY t2.updated_at DESC , t2.contract_id DESC LIMIT 1;";
|
||
Debug.WriteLine("\u3000〓〓更新情報取得:" + text);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
result = int.Parse(Convert.ToString(mySqlDataReader["contract_id"]));
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "更新用データのチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
}
|
||
return result;
|
||
}
|
||
|
||
private int CheckNewContract(string MFCODE)
|
||
{
|
||
int num = -1;
|
||
int num2 = -1;
|
||
int result = -1;
|
||
int contract_id = 0;
|
||
string text = "SELECT * FROM user INNER JOIN regular_contract ON user.user_seq = regular_contract.user_id INNER JOIN new_contract ON new_contract.contract_id = regular_contract.contract_id WHERE user.user_tag_serial = '" + MFCODE + "' AND user.user_quit_flag = 0 AND user.tag_qr_flag = 0 ;";
|
||
Debug.WriteLine("\u3000〓〓new_contract情報取得:" + text);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
num = mySqlDataReader.GetByte(mySqlDataReader.GetOrdinal("validity"));
|
||
num2 = mySqlDataReader.GetByte(mySqlDataReader.GetOrdinal("type"));
|
||
contract_id = int.Parse(Convert.ToString(mySqlDataReader["contract_id"]));
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "更新用データのチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
}
|
||
if (num == 0)
|
||
{
|
||
result = -1;
|
||
}
|
||
if (num == 1)
|
||
{
|
||
result = num2;
|
||
if (CheckNewContractRenewalPeriod(contract_id) == 0)
|
||
{
|
||
result = 3;
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
|
||
private int CheckGenmen(string usercode, int oldContractID)
|
||
{
|
||
view_mode = true;
|
||
string text = "";
|
||
string text2 = "";
|
||
string text3 = "";
|
||
string text4 = "";
|
||
string s = "";
|
||
string s2 = "";
|
||
string text5 = "";
|
||
string text6 = "SELECT rc.*, ut.usertype_subject1, ut.usertype_subject3, p.student_id_confirm_type, rec.reduction_confirm_type FROM regular_contract rc JOIN usertype ut ON rc.user_categoryid = ut.user_categoryid JOIN park p ON rc.park_id = p.park_id LEFT JOIN reduction_confirm rec ON rc.park_id = rec.park_id AND rc.user_categoryid = rec.user_categoryid WHERE rc.contract_id = '" + oldContractID + "'; ";
|
||
Debug.WriteLine("\u3000〓〓更新情報取得:" + text6);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text6, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
s = mySqlDataReader["park_id"].ToString();
|
||
text = mySqlDataReader["contract_money"].ToString();
|
||
text2 = mySqlDataReader["usertype_subject1"].ToString();
|
||
text3 = mySqlDataReader["usertype_subject3"].ToString();
|
||
s2 = mySqlDataReader["contract_periode"].ToString();
|
||
text5 = ((int)mySqlDataReader.GetByte(mySqlDataReader.GetOrdinal("reduction_confirm_type"))).ToString();
|
||
text4 = ((int)mySqlDataReader.GetByte(mySqlDataReader.GetOrdinal("student_id_confirm_type"))).ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "減免のチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
if (text == "0")
|
||
{
|
||
if (text3 == "該当なし")
|
||
{
|
||
if (!(text2 == "学生"))
|
||
{
|
||
return 0;
|
||
}
|
||
switch (text4)
|
||
{
|
||
case "0":
|
||
return 1;
|
||
case "1":
|
||
{
|
||
int maxMonth = GetMaxMonth(int.Parse(s));
|
||
DateTime dateTime = DateTime.Parse(s2);
|
||
DateTime dateTime2 = new DateTime(dateTime.Year, dateTime.Month, 1).AddMonths(1);
|
||
DateTime dateTime3 = dateTime2.AddMonths(maxMonth);
|
||
DateTime dateTime4 = new DateTime(dateTime3.Year, 4, 1);
|
||
if (dateTime2.Year == dateTime3.Year)
|
||
{
|
||
dateTime4 = dateTime4.AddYears(1);
|
||
}
|
||
if (dateTime3 > dateTime4)
|
||
{
|
||
if (genmenCheckStey())
|
||
{
|
||
return 1;
|
||
}
|
||
return 2;
|
||
}
|
||
return 1;
|
||
}
|
||
case "2":
|
||
if (genmenCheckStey())
|
||
{
|
||
return 1;
|
||
}
|
||
return 2;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
switch (text5)
|
||
{
|
||
case "0":
|
||
return 1;
|
||
case "1":
|
||
{
|
||
int maxMonth2 = GetMaxMonth(int.Parse(s));
|
||
DateTime dateTime5 = DateTime.Parse(s2);
|
||
DateTime dateTime6 = new DateTime(dateTime5.Year, dateTime5.Month, 1).AddMonths(1);
|
||
DateTime dateTime7 = dateTime6.AddMonths(maxMonth2);
|
||
DateTime dateTime8 = new DateTime(dateTime7.Year, 4, 1);
|
||
if (dateTime6.Year == dateTime7.Year)
|
||
{
|
||
dateTime8 = dateTime8.AddYears(1);
|
||
}
|
||
if (dateTime7 > dateTime8)
|
||
{
|
||
if (genmenCheckStey())
|
||
{
|
||
return 1;
|
||
}
|
||
return 2;
|
||
}
|
||
break;
|
||
}
|
||
case "2":
|
||
if (genmenCheckStey())
|
||
{
|
||
return 1;
|
||
}
|
||
return 2;
|
||
}
|
||
}
|
||
}
|
||
else if (text3 == "該当なし")
|
||
{
|
||
if (!(text2 == "学生"))
|
||
{
|
||
return 0;
|
||
}
|
||
switch (text4)
|
||
{
|
||
case "0":
|
||
return 0;
|
||
case "1":
|
||
{
|
||
int maxMonth3 = GetMaxMonth(int.Parse(s));
|
||
DateTime dateTime9 = DateTime.Parse(s2);
|
||
DateTime dateTime10 = new DateTime(dateTime9.Year, dateTime9.Month, 1).AddMonths(1);
|
||
DateTime dateTime11 = dateTime10.AddMonths(maxMonth3);
|
||
DateTime dateTime12 = new DateTime(dateTime11.Year, 4, 1);
|
||
if (dateTime10.Year == dateTime11.Year)
|
||
{
|
||
dateTime12 = dateTime12.AddYears(1);
|
||
}
|
||
if (dateTime11 > dateTime12)
|
||
{
|
||
if (genmenCheckStey())
|
||
{
|
||
return 0;
|
||
}
|
||
return 2;
|
||
}
|
||
break;
|
||
}
|
||
case "2":
|
||
if (genmenCheckStey())
|
||
{
|
||
return 0;
|
||
}
|
||
return 2;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
switch (text5)
|
||
{
|
||
case "0":
|
||
return 0;
|
||
case "1":
|
||
{
|
||
int maxMonth4 = GetMaxMonth(int.Parse(s));
|
||
DateTime dateTime13 = DateTime.Parse(s2);
|
||
DateTime dateTime14 = new DateTime(dateTime13.Year, dateTime13.Month, 1).AddMonths(1);
|
||
DateTime dateTime15 = dateTime14.AddMonths(maxMonth4);
|
||
DateTime dateTime16 = new DateTime(dateTime15.Year, 4, 1);
|
||
if (dateTime14.Year == dateTime15.Year)
|
||
{
|
||
dateTime16 = dateTime16.AddYears(1);
|
||
}
|
||
if (dateTime15 > dateTime16)
|
||
{
|
||
if (genmenCheckStey())
|
||
{
|
||
return 0;
|
||
}
|
||
return 2;
|
||
}
|
||
break;
|
||
}
|
||
case "2":
|
||
if (genmenCheckStey())
|
||
{
|
||
return 0;
|
||
}
|
||
return 2;
|
||
}
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
private bool genmenCheckStey()
|
||
{
|
||
genmenFlg = true;
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\QRkakuninn.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
for (int num = form2.Controls.Count - 1; num >= 0; num--)
|
||
{
|
||
Control control = form2.Controls[num];
|
||
if (control.Name == "homeButton")
|
||
{
|
||
control.Click -= HomeButton_Click;
|
||
control.Click += GenmenHomeButton_Click;
|
||
}
|
||
}
|
||
DateTime now = DateTime.Now;
|
||
while (genmenFlg)
|
||
{
|
||
Application.DoEvents();
|
||
if (Convert.ToString(QRresult) != "0")
|
||
{
|
||
KEEPALIVE.MyTimer_stop();
|
||
Debug.WriteLine(Convert.ToString(QRdata));
|
||
SO_QRcordInit();
|
||
SO_MfifareInit();
|
||
if (Convert.ToString(QRdata) == genmenQR)
|
||
{
|
||
genmenFlg = false;
|
||
genmenFlg_2 = true;
|
||
return true;
|
||
}
|
||
genmenFlg = false;
|
||
genmenFlg_2 = true;
|
||
return false;
|
||
}
|
||
if ((DateTime.Now - now).TotalSeconds >= 20.0)
|
||
{
|
||
genmenFlg = false;
|
||
return false;
|
||
}
|
||
}
|
||
genmenFlg = false;
|
||
return false;
|
||
}
|
||
|
||
private void GenmenHomeButton_Click(object sender, EventArgs e)
|
||
{
|
||
genmenFlg = false;
|
||
}
|
||
|
||
private int GetMaxMonth(int park_id)
|
||
{
|
||
int result = 0;
|
||
Dictionary<string, string> dictionary = new Dictionary<string, string>();
|
||
string cmdText = "SELECT * FROM park JOIN regular_type ON regular_type.city_id = park.city_id WHERE park.park_id = " + park_id + " ORDER BY park.updated_at DESC LIMIT 1;";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
dictionary["1"] = mySqlDataReader["regular_class_1"].ToString();
|
||
dictionary["2"] = mySqlDataReader["regular_class_2"].ToString();
|
||
dictionary["3"] = mySqlDataReader["regular_class_3"].ToString();
|
||
dictionary["6"] = mySqlDataReader["regular_class_6"].ToString();
|
||
dictionary["12"] = mySqlDataReader["regular_class_12"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "契約最大月取得時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
if (dictionary["12"] == "True")
|
||
{
|
||
return 12;
|
||
}
|
||
if (dictionary["6"] == "True")
|
||
{
|
||
return 6;
|
||
}
|
||
if (dictionary["3"] == "True")
|
||
{
|
||
return 3;
|
||
}
|
||
if (dictionary["2"] == "True")
|
||
{
|
||
return 2;
|
||
}
|
||
if (dictionary["1"] == "True")
|
||
{
|
||
return 1;
|
||
}
|
||
return result;
|
||
}
|
||
|
||
private void ZeroenKoushin(string usercode, int oldContractID)
|
||
{
|
||
Bitmap bitmap = null;
|
||
Console.WriteLine("☆☆ゼロ円更新");
|
||
page_name = "ZeroenKoushin";
|
||
view_mode = true;
|
||
Dictionary<string, string> dictionary = new Dictionary<string, string>();
|
||
kessaiYoyakuArray = new ExpandoObject();
|
||
kessaiYoyakuArray.usercode = usercode;
|
||
kessaiYoyakuArray.old_contract_id = Convert.ToString(oldContractID);
|
||
string text = "SELECT DISTINCT rc.user_id, rc.user_categoryid, rc.park_id, rc.price_parkplaceid, rc.user_securitynum, rc.contract_reduction, CAST(rc.psection_id AS CHAR) AS psection_id, rc.zone_id, rc.pplace_no, rc.price_parkplaceid, rc.contract_updated_at, rc.contract_periods, rc.contract_periode, rc.park_position, rc.storage_company_code, rc.share_storage_company_code, rc.pplace_allocation_flag, rc.tag_change_flag, u.user_seq, u.user_mobile, u.user_homephone, u.user_name, u.user_graduate, us.usertype_subject1 FROM regular_contract rc INNER JOIN user u ON rc.user_id = u.user_seq JOIN usertype us ON rc.user_categoryid = us.user_categoryid WHERE rc.contract_id = '" + oldContractID + "';";
|
||
Debug.WriteLine("\u3000〓〓更新情報取得:" + text);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
kessaiYoyakuArray.user_id = mySqlDataReader["user_id"];
|
||
kessaiYoyakuArray.user_categoryid = mySqlDataReader["user_categoryid"];
|
||
kessaiYoyakuArray.park_id = mySqlDataReader["park_id"];
|
||
kessaiYoyakuArray.price_parkplaceid = mySqlDataReader["price_parkplaceid"];
|
||
kessaiYoyakuArray.user_securitynum = mySqlDataReader["user_securitynum"];
|
||
kessaiYoyakuArray.contract_reduction = mySqlDataReader["contract_reduction"];
|
||
kessaiYoyakuArray.user_graduate = mySqlDataReader["park_position"].ToString();
|
||
kessaiYoyakuArray.psection_id = Convert.ToInt32(mySqlDataReader["psection_id"]);
|
||
kessaiYoyakuArray.zone_id = mySqlDataReader["zone_id"];
|
||
kessaiYoyakuArray.pplace_no = mySqlDataReader["pplace_no"];
|
||
kessaiYoyakuArray.storage_company_code = mySqlDataReader["storage_company_code"];
|
||
kessaiYoyakuArray.share_storage_company_code = mySqlDataReader["share_storage_company_code"];
|
||
kessaiYoyakuArray.pplace_allocation_flag = mySqlDataReader["pplace_allocation_flag"];
|
||
kessaiYoyakuArray.user_graduate = mySqlDataReader["user_graduate"].ToString();
|
||
kessaiYoyakuArray.userttype_subject1 = mySqlDataReader["usertype_subject1"];
|
||
kessaiYoyakuArray.user_seq = mySqlDataReader["user_seq"];
|
||
kessaiYoyakuArray.user_mobile = mySqlDataReader["user_mobile"].ToString();
|
||
kessaiYoyakuArray.user_homephone = mySqlDataReader["user_homephone"].ToString();
|
||
kessaiYoyakuArray.user_name = mySqlDataReader["user_name"].ToString();
|
||
kessaiYoyakuArray.old_contract_updated_at = mySqlDataReader["contract_updated_at"].ToString();
|
||
kessaiYoyakuArray.old_contract_periods = mySqlDataReader["contract_periods"].ToString();
|
||
kessaiYoyakuArray.old_contract_periode = mySqlDataReader["contract_periode"].ToString();
|
||
kessaiYoyakuArray.old_tag_change_flag = mySqlDataReader["tag_change_flag"];
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "更新用データのチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
DateTime now = DateTime.Now;
|
||
string cmdText = "\r\n INSERT INTO regular_contract \r\n (old_contract_id, created_at, updated_at, user_id, user_categoryid, park_id, price_parkplaceid, \r\n user_securitynum, contract_reduction, contract_flag, update_flag, contract_permission, \r\n 800m_flag, tag_qr_flag, psection_id, zone_id, pplace_no, storage_company_code, share_storage_company_code, pplace_allocation_flag,contract_cancel_flag,tag_change_flag) \r\n VALUES \r\n (@old_contract_id, @createdAt, @updatedAt, @userId, @userCategoryId, @parkId, @priceParkplaceId, \r\n @userSecurityNum, @contractReduction, @contractFlag, @updateFlag, @contractPermission, \r\n @eightHundredMFlag, @tagQrFlag, @psectionId, @zoneId, @pplaceNo, @storageCompanyCode, @shareStorageCompanyCode, @pplaceAllocationFlag,@contractCancelFlag,@tag_change_flag);\r\n SELECT LAST_INSERT_ID();";
|
||
MySqlCommand mySqlCommand2 = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand2.Parameters.AddWithValue("@old_contract_id", kessaiYoyakuArray.old_contract_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@createdAt", now);
|
||
mySqlCommand2.Parameters.AddWithValue("@updatedAt", now);
|
||
mySqlCommand2.Parameters.AddWithValue("@userId", kessaiYoyakuArray.user_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@userCategoryId", kessaiYoyakuArray.user_categoryid);
|
||
mySqlCommand2.Parameters.AddWithValue("@parkId", kessaiYoyakuArray.park_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@priceParkplaceId", kessaiYoyakuArray.price_parkplaceid);
|
||
mySqlCommand2.Parameters.AddWithValue("@userSecurityNum", kessaiYoyakuArray.user_securitynum);
|
||
mySqlCommand2.Parameters.AddWithValue("@contractReduction", kessaiYoyakuArray.contract_reduction);
|
||
mySqlCommand2.Parameters.AddWithValue("@contractFlag", 0);
|
||
mySqlCommand2.Parameters.AddWithValue("@updateFlag", 1);
|
||
mySqlCommand2.Parameters.AddWithValue("@contractPermission", 0);
|
||
mySqlCommand2.Parameters.AddWithValue("@eightHundredMFlag", 0);
|
||
mySqlCommand2.Parameters.AddWithValue("@tagQrFlag", 0);
|
||
mySqlCommand2.Parameters.AddWithValue("@psectionId", kessaiYoyakuArray.psection_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@zoneId", kessaiYoyakuArray.zone_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@pplaceNo", kessaiYoyakuArray.pplace_no);
|
||
mySqlCommand2.Parameters.AddWithValue("@storageCompanyCode", kessaiYoyakuArray.storage_company_code);
|
||
mySqlCommand2.Parameters.AddWithValue("@shareStorageCompanyCode", kessaiYoyakuArray.share_storage_company_code);
|
||
mySqlCommand2.Parameters.AddWithValue("@pplaceAllocationFlag", kessaiYoyakuArray.pplace_allocation_flag);
|
||
mySqlCommand2.Parameters.AddWithValue("@contractCancelFlag", 0);
|
||
mySqlCommand2.Parameters.AddWithValue("@tag_change_flag", kessaiYoyakuArray.old_tag_change_flag);
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction2 = DBconnect.BeginTransaction();
|
||
object obj = mySqlCommand2.ExecuteScalar();
|
||
if (obj != null && obj != DBNull.Value)
|
||
{
|
||
kessaiYoyakuArray.contract_id = Convert.ToInt32(obj);
|
||
}
|
||
mySqlTransaction2.Commit();
|
||
Console.WriteLine("新しいレコードが作成されました。 新しい契約ID: " + kessaiYoyakuArray.contract_id);
|
||
}
|
||
catch (Exception ex2)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex2.Message);
|
||
ERRORINFO = "更新用作成時時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
string text2 = "";
|
||
string text3 = "";
|
||
string s = "";
|
||
string text4 = "";
|
||
string s2 = "";
|
||
int num = 1;
|
||
string text5 = "";
|
||
text = "SELECT * FROM park JOIN regular_type ON regular_type.city_id = park.city_id JOIN regular_contract ON regular_contract.park_id = park.park_id JOIN user ON regular_contract.user_id = user.user_seq JOIN usertype ON regular_contract.user_categoryid = usertype.user_categoryid WHERE regular_contract.contract_id = '" + kessaiYoyakuArray.contract_id + "' " + "ORDER BY park.updated_at DESC " + "LIMIT 1; ";
|
||
Debug.WriteLine("\u3000〓〓料金テーブル名取得:" + text);
|
||
mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlDataReader mySqlDataReader2 = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader2.Read())
|
||
{
|
||
dictionary["1"] = mySqlDataReader2["regular_class_1"].ToString();
|
||
dictionary["2"] = mySqlDataReader2["regular_class_2"].ToString();
|
||
dictionary["3"] = mySqlDataReader2["regular_class_3"].ToString();
|
||
dictionary["6"] = mySqlDataReader2["regular_class_6"].ToString();
|
||
dictionary["12"] = mySqlDataReader2["regular_class_12"].ToString();
|
||
text2 = mySqlDataReader2["park_name"].ToString();
|
||
text3 = mySqlDataReader2["update_grace_period_start_date"].ToString();
|
||
s = mySqlDataReader2["update_grace_period_start_time"].ToString();
|
||
text4 = mySqlDataReader2["price_parkplaceid"].ToString();
|
||
s2 = mySqlDataReader2["user_graduate"].ToString();
|
||
text5 = mySqlDataReader2["usertype_subject1"].ToString();
|
||
kessaiYoyakuArray.update_grace_period_start_date = text3;
|
||
kessaiYoyakuArray.contract_id = mySqlDataReader2["contract_id"].ToString();
|
||
}
|
||
mySqlDataReader2.Close();
|
||
}
|
||
catch (Exception ex3)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex3.Message);
|
||
ERRORINFO = "ゼロ円更新\u3000契約可能月取得時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
int day = int.Parse(text3);
|
||
TimeSpan timeSpan = TimeSpan.Parse(s);
|
||
DateTime now2 = DateTime.Now;
|
||
DateTime dateTime;
|
||
try
|
||
{
|
||
dateTime = new DateTime(now2.Year, now2.Month, day, timeSpan.Hours, timeSpan.Minutes, 0);
|
||
}
|
||
catch (ArgumentOutOfRangeException)
|
||
{
|
||
int day2 = DateTime.DaysInMonth(now2.Year, now2.Month);
|
||
dateTime = new DateTime(now2.Year, now2.Month, day2, timeSpan.Hours, timeSpan.Minutes, 0);
|
||
}
|
||
DateTime dateTime2 = ((!(now2 > dateTime)) ? new DateTime(now2.Year, now2.Month, 1) : new DateTime(now2.Year, now2.Month, 1).AddMonths(1));
|
||
Console.WriteLine("契約開始日: " + dateTime2.ToString("yyyy年MM月dd日"));
|
||
kessaiYoyakuArray.contract_updated_at = dateTime.ToString("yyyy-MM-dd");
|
||
kessaiYoyakuArray.contract_periods = dateTime2.ToString("yyyy-MM-dd");
|
||
foreach (KeyValuePair<string, string> item in dictionary)
|
||
{
|
||
bool flag = true;
|
||
if (text5 == "学生")
|
||
{
|
||
DateTime dateTime3 = dateTime2.AddMonths(int.Parse(Convert.ToString(item.Key))).AddDays(-1.0);
|
||
DateTime dateTime4 = DateTime.ParseExact(s2, "yyyy/MM/dd H:mm:ss", null);
|
||
if (dateTime3 > dateTime4)
|
||
{
|
||
flag = false;
|
||
}
|
||
}
|
||
if (item.Value == "True" && flag)
|
||
{
|
||
string key = item.Key;
|
||
string text6 = "0";
|
||
CreateKessaiKikanButton(text4, key, text6, num++);
|
||
string key2 = "kessaiKikan_" + key.ToString() + "_" + text6 + "_" + text4;
|
||
if (form2.Controls.Find(key2, searchAllChildren: true).FirstOrDefault() is Button button)
|
||
{
|
||
button.Click -= KessaiKikanButton_Click;
|
||
button.Click += SOMPR_120Button_Click;
|
||
}
|
||
}
|
||
}
|
||
if (num == 1)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_1_2.png");
|
||
form2.BackgroundImage = bitmap;
|
||
SetHomeButton();
|
||
}
|
||
else
|
||
{
|
||
kessaiButton = new Button();
|
||
kessaiButton.BackgroundImageLayout = ImageLayout.Stretch;
|
||
kessaiButton.FlatStyle = FlatStyle.Flat;
|
||
kessaiButton.FlatAppearance.BorderSize = 0;
|
||
kessaiButton.BackColor = Color.Transparent;
|
||
kessaiButton.BackgroundImage = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\syuuryou_btn.png");
|
||
kessaiButton.Name = "kessaiCancel";
|
||
kessaiButton.Size = new Size(450, 100);
|
||
kessaiButton.Location = new Point(50, 650);
|
||
kessaiButton.Click += KessaiCancelButton_Click;
|
||
form2.Controls.Add(kessaiButton);
|
||
}
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_genmen_120.png");
|
||
form2.BackgroundImage = bitmap;
|
||
SetHomeButton();
|
||
Application.DoEvents();
|
||
DateTime now3 = DateTime.Now;
|
||
waiting = true;
|
||
while (waiting && (DateTime.Now - now3).TotalSeconds < 20.0)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
if (page_name == "ZeroenKoushin")
|
||
{
|
||
KessaiEnd();
|
||
}
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void SOMPR_120(string type = "")
|
||
{
|
||
Console.WriteLine("☆☆新規契約 (減免) 決済期間選択");
|
||
page_name = "SOMPR_120";
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap bitmap = null;
|
||
Dictionary<string, string> dictionary = new Dictionary<string, string>();
|
||
kessaiYoyakuArray = new ExpandoObject();
|
||
string text = "";
|
||
string text2 = "";
|
||
string s = "";
|
||
string text3 = "";
|
||
string s2 = "";
|
||
int num = 1;
|
||
string text4 = "";
|
||
string text5 = "SELECT * FROM park JOIN regular_type ON regular_type.city_id = park.city_id JOIN regular_contract ON regular_contract.park_id = park.park_id JOIN user ON regular_contract.user_id = user.user_seq JOIN usertype ON regular_contract.user_categoryid = usertype.user_categoryid INNER JOIN new_contract ON new_contract.contract_id = regular_contract.contract_id WHERE user.user_tag_serial = '" + MFCODE + "' AND new_contract.validity = 1 AND new_contract.type = 1 ORDER BY park.updated_at DESC LIMIT 1; ";
|
||
Debug.WriteLine("\u3000〓〓料金テーブル名取得:" + text5);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text5, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
dictionary["1"] = mySqlDataReader["regular_class_1"].ToString();
|
||
dictionary["2"] = mySqlDataReader["regular_class_2"].ToString();
|
||
dictionary["3"] = mySqlDataReader["regular_class_3"].ToString();
|
||
dictionary["6"] = mySqlDataReader["regular_class_6"].ToString();
|
||
dictionary["12"] = mySqlDataReader["regular_class_12"].ToString();
|
||
text = mySqlDataReader["park_name"].ToString();
|
||
text2 = mySqlDataReader["update_grace_period_start_date"].ToString();
|
||
s = mySqlDataReader["update_grace_period_start_time"].ToString();
|
||
text3 = mySqlDataReader["price_parkplaceid"].ToString();
|
||
s2 = mySqlDataReader["user_graduate"].ToString();
|
||
text4 = mySqlDataReader["usertype_subject1"].ToString();
|
||
kessaiYoyakuArray.update_grace_period_start_date = text2;
|
||
kessaiYoyakuArray.contract_id = mySqlDataReader["contract_id"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "SOMPR_120\u3000契約可能月取得時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
int day = int.Parse(text2);
|
||
TimeSpan timeSpan = TimeSpan.Parse(s);
|
||
DateTime now = DateTime.Now;
|
||
DateTime dateTime;
|
||
try
|
||
{
|
||
dateTime = new DateTime(now.Year, now.Month, day, timeSpan.Hours, timeSpan.Minutes, 0);
|
||
}
|
||
catch (ArgumentOutOfRangeException)
|
||
{
|
||
int day2 = DateTime.DaysInMonth(now.Year, now.Month);
|
||
dateTime = new DateTime(now.Year, now.Month, day2, timeSpan.Hours, timeSpan.Minutes, 0);
|
||
}
|
||
DateTime dateTime2 = ((!(now > dateTime)) ? new DateTime(now.Year, now.Month, 1) : new DateTime(now.Year, now.Month, 1).AddMonths(1));
|
||
Console.WriteLine("契約開始日: " + dateTime2.ToString("yyyy年MM月dd日"));
|
||
kessaiYoyakuArray.contract_updated_at = dateTime.ToString("yyyy-MM-dd");
|
||
kessaiYoyakuArray.contract_periods = dateTime2.ToString("yyyy-MM-dd");
|
||
foreach (KeyValuePair<string, string> item in dictionary)
|
||
{
|
||
bool flag = true;
|
||
if (text4 == "学生")
|
||
{
|
||
Console.WriteLine("学生のチェック");
|
||
DateTime dateTime3 = dateTime2.AddMonths(int.Parse(Convert.ToString(item.Key))).AddDays(-1.0);
|
||
DateTime dateTime4 = DateTime.ParseExact(s2, "yyyy/MM/dd H:mm:ss", null);
|
||
if (dateTime3 > dateTime4)
|
||
{
|
||
flag = false;
|
||
}
|
||
}
|
||
if (item.Value == "True" && flag)
|
||
{
|
||
string key = item.Key;
|
||
string text6 = "0";
|
||
CreateKessaiKikanButton(text3, key, text6, num++);
|
||
string key2 = "kessaiKikan_" + key.ToString() + "_" + text6 + "_" + text3;
|
||
if (form2.Controls.Find(key2, searchAllChildren: true).FirstOrDefault() is Button button)
|
||
{
|
||
button.Click -= KessaiKikanButton_Click;
|
||
button.Click += SOMPR_120Button_Click;
|
||
}
|
||
}
|
||
}
|
||
if (num == 1)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_1_2.png");
|
||
form2.BackgroundImage = bitmap;
|
||
SetHomeButton();
|
||
}
|
||
else
|
||
{
|
||
kessaiButton = new Button();
|
||
kessaiButton.BackgroundImageLayout = ImageLayout.Stretch;
|
||
kessaiButton.FlatStyle = FlatStyle.Flat;
|
||
kessaiButton.FlatAppearance.BorderSize = 0;
|
||
kessaiButton.BackColor = Color.Transparent;
|
||
kessaiButton.BackgroundImage = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\syuuryou_btn.png");
|
||
kessaiButton.Name = "kessaiCancel";
|
||
kessaiButton.Size = new Size(450, 100);
|
||
kessaiButton.Location = new Point(50, 650);
|
||
kessaiButton.Click += KessaiCancelButton_Click;
|
||
form2.Controls.Add(kessaiButton);
|
||
}
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_genmen_120.png");
|
||
form2.BackgroundImage = bitmap;
|
||
SetHomeButton();
|
||
Application.DoEvents();
|
||
DateTime now2 = DateTime.Now;
|
||
waiting = true;
|
||
while (waiting && (DateTime.Now - now2).TotalSeconds < 20.0)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
if (page_name == "SOMPR_120")
|
||
{
|
||
KessaiEnd();
|
||
}
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void SOMPR_120Button_Click(object sender, EventArgs e)
|
||
{
|
||
KessaiPartsRemove();
|
||
uint num = 0u;
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic2-1.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
Button button = (Button)sender;
|
||
if (!button.Name.StartsWith("kessaiKikan_"))
|
||
{
|
||
return;
|
||
}
|
||
string[] array = button.Name.Split('_');
|
||
kessaiYoyakuArray.enable_months = array[1];
|
||
string text = array[2].Replace(",", "").Replace("円", "");
|
||
kessaiYoyakuArray.billing_amount = text;
|
||
int months = int.Parse(kessaiYoyakuArray.enable_months);
|
||
int num2 = int.Parse(kessaiYoyakuArray.update_grace_period_start_date);
|
||
DateTime dateTime = ((DateTime)DateTime.ParseExact(kessaiYoyakuArray.contract_periods, "yyyy-MM-dd", null)).AddMonths(months).AddDays(-1.0);
|
||
int num3 = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
|
||
dateTime = dateTime.AddDays(num3 - dateTime.Day);
|
||
kessaiYoyakuArray.contract_periode = dateTime.ToString("yyyy-MM-dd");
|
||
DateTime dateTime2 = new DateTime(dateTime.Year, dateTime.Month, num2);
|
||
dateTime2 = ((num2 <= DateTime.DaysInMonth(dateTime.Year, dateTime.Month)) ? new DateTime(dateTime.Year, dateTime.Month, num2, 0, 0, 0) : new DateTime(dateTime.Year, dateTime.Month, DateTime.DaysInMonth(dateTime.Year, dateTime.Month), 0, 0, 0));
|
||
kessaiYoyakuArray.contract_updated_at = dateTime2.ToString("yyyy-MM-20");
|
||
int num4 = 0;
|
||
str_Prndat = new string[13];
|
||
PrnDataField = new Dictionary<string, string>();
|
||
PrnDataField.Add("駐車場名", "");
|
||
PrnDataField.Add("定期種別", "");
|
||
PrnDataField.Add("場所種別", "");
|
||
PrnDataField.Add("開始日", "");
|
||
PrnDataField.Add("終了月", "");
|
||
PrnDataField.Add("再発行", "");
|
||
PrnDataField.Add("定期番号", "");
|
||
PrnDataField.Add("自治体名", "");
|
||
PrnDataField.Add("利用者ID", "");
|
||
PrnDataField.Add("ゾーン、車室名", "");
|
||
PrnDataField.Add("発行枚数", "");
|
||
PrnDataField.Add("タグ", "");
|
||
PrnDataField.Add("ゾーン", "");
|
||
num4 = (((bool)(((IDictionary<string, object>)kessaiYoyakuArray).ContainsKey("old_contract_id") && !string.IsNullOrEmpty(kessaiYoyakuArray.old_contract_id?.ToString()))) ? SO_DBPrndat_01(3u) : SO_DBPrndat_01(2u));
|
||
if (num4 == 1)
|
||
{
|
||
bool flag = SO_ComCont(40, EndType);
|
||
Debug.WriteLine(" --処理1a Result " + num4);
|
||
KessaiEnd();
|
||
Bitmap backgroundImage2 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic5.png");
|
||
form2.BackgroundImage = backgroundImage2;
|
||
RemoveHomeButton();
|
||
Debug.WriteLine(" --エラー\u3000 Result " + num4);
|
||
Application.DoEvents();
|
||
Thread.Sleep(3000);
|
||
Bitmap backgroundImage3 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage3;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
return;
|
||
}
|
||
PrnDataField["駐車場名"] = str_Prndat[0];
|
||
PrnDataField["定期種別"] = str_Prndat[1];
|
||
PrnDataField["場所種別"] = str_Prndat[2];
|
||
PrnDataField["開始日"] = str_Prndat[3];
|
||
PrnDataField["終了月"] = str_Prndat[4];
|
||
PrnDataField["再発行"] = str_Prndat[5];
|
||
PrnDataField["定期番号"] = str_Prndat[6];
|
||
PrnDataField["自治体名"] = str_Prndat[7];
|
||
PrnDataField["利用者ID"] = str_Prndat[8];
|
||
PrnDataField["ゾーン、車室名"] = str_Prndat[9];
|
||
PrnDataField["タグ"] = str_Prndat[10];
|
||
PrnDataField["ゾーン"] = str_Prndat[11];
|
||
PrnDataField["利用者連番"] = str_Prndat[12];
|
||
PrnDataField["発行枚数"] = "1";
|
||
backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic2-1.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
num = SO_PrnOut();
|
||
Debug.WriteLine(" --処理印刷\u3000 result " + num);
|
||
if (num != 0)
|
||
{
|
||
Debug.WriteLine(" --処理1a bResult " + SO_ComCont(40, EndType));
|
||
KessaiEnd();
|
||
Bitmap backgroundImage4 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic5.png");
|
||
form2.BackgroundImage = backgroundImage4;
|
||
RemoveHomeButton();
|
||
Debug.WriteLine(" --エラー\u3000 result " + num);
|
||
Application.DoEvents();
|
||
Thread.Sleep(3000);
|
||
Bitmap backgroundImage5 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage5;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
}
|
||
else
|
||
{
|
||
bool flag = SO_DBInsert_seal2(120u);
|
||
string text2 = "";
|
||
string value = "";
|
||
string cmdText = "SELECT web_master FROM setting LIMIT 1;";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
text2 = mySqlDataReader["web_master"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
cmdText = "SELECT* FROM price" + text2 + " WHERE price_month = @priceMonth AND park_id = (SELECT park_id FROM price_a WHERE price_parkplaceid = @PriceParkplaceid) AND psection_id = (SELECT psection_id FROM price_a WHERE price_parkplaceid = @PriceParkplaceid) AND ptype_id = (SELECT ptype_id FROM price_a WHERE price_parkplaceid = @PriceParkplaceid) AND user_categoryid = (SELECT user_categoryid FROM price_a WHERE price_parkplaceid = @PriceParkplaceid);";
|
||
mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@priceMonth", kessaiYoyakuArray.enable_months);
|
||
mySqlCommand.Parameters.AddWithValue("@PriceParkplaceid", array[3]);
|
||
mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
value = mySqlDataReader["price_parkplaceid"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_120");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "更新用データのチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
string cmdText2 = "UPDATE regular_contract SET updated_at = NOW(), contract_created_at = NOW(), contract_updated_at = @contractUpdatedAt, contract_periods = @contractPeriods, contract_periode = @contractPeriode, enable_months = @enableMonths, printable_date = CURDATE(), billing_amount = @billingAmount, contract_payment_day = NOW(), contract_money = 0, contract_flag = 1, contract_seal_issue = COALESCE(contract_seal_issue, 0) + 1 ,contract_permission = 0, 800m_flag = 0 ,price_parkplaceid = @PriceParkplaceid WHERE contract_id = @contractId;";
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
mySqlCommand = new MySqlCommand(cmdText2, DBconnect);
|
||
try
|
||
{
|
||
mySqlCommand.CommandTimeout = 30;
|
||
mySqlCommand.Parameters.AddWithValue("@contractUpdatedAt", kessaiYoyakuArray.contract_updated_at);
|
||
mySqlCommand.Parameters.AddWithValue("@contractPeriods", kessaiYoyakuArray.contract_periods);
|
||
mySqlCommand.Parameters.AddWithValue("@contractPeriode", kessaiYoyakuArray.contract_periode);
|
||
mySqlCommand.Parameters.AddWithValue("@enableMonths", kessaiYoyakuArray.enable_months);
|
||
mySqlCommand.Parameters.AddWithValue("@billingAmount", kessaiYoyakuArray.billing_amount);
|
||
mySqlCommand.Parameters.AddWithValue("@contractId", kessaiYoyakuArray.contract_id);
|
||
mySqlCommand.Parameters.AddWithValue("@PriceParkplaceid", value);
|
||
mySqlCommand.ExecuteNonQuery();
|
||
if (((IDictionary<string, object>)kessaiYoyakuArray).ContainsKey("old_contract_id"))
|
||
{
|
||
cmdText2 = "UPDATE regular_contract SET contract_renewal = 1 WHERE contract_id = @contractId;";
|
||
mySqlCommand = new MySqlCommand(cmdText2, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@contractId", kessaiYoyakuArray.old_contract_id);
|
||
mySqlCommand.ExecuteNonQuery();
|
||
}
|
||
cmdText2 = "UPDATE new_contract SET validity=0 WHERE contract_id = @contractId;";
|
||
mySqlCommand = new MySqlCommand(cmdText2, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@contractId", kessaiYoyakuArray.contract_id);
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex2)
|
||
{
|
||
mySqlTransaction.Rollback();
|
||
Debug.WriteLine("\u3000〓〓_ERROR_120");
|
||
Trace.WriteLine(ex2.Message);
|
||
ERRORINFO = "更新用データのチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
}
|
||
Debug.WriteLine(" --処理3");
|
||
Application.DoEvents();
|
||
Debug.WriteLine(" --処理おわり");
|
||
Debug.WriteLine(" --印刷完了表示");
|
||
Bitmap backgroundImage6 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic3.png");
|
||
form2.BackgroundImage = backgroundImage6;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
Thread.Sleep(5000);
|
||
KessaiEnd();
|
||
}
|
||
|
||
private void SOMPR_110()
|
||
{
|
||
Console.WriteLine("☆☆新規契約決済期間選択");
|
||
page_name = "SOMPR_110";
|
||
view_mode = true;
|
||
string text = "";
|
||
KessaiPartsRemove();
|
||
Console.WriteLine("☆☆決済予約開始");
|
||
view_mode = true;
|
||
kessaiYoyakuArray = new ExpandoObject();
|
||
string text2 = "SELECT DISTINCT rc.user_id, rc.contract_id, rc.user_categoryid, rc.park_id, rc.price_parkplaceid, rc.user_securitynum, rc.contract_reduction, CAST(rc.psection_id AS CHAR) AS psection_id, rc.zone_id, rc.pplace_no, rc.price_parkplaceid, rc.contract_updated_at, rc.contract_periods, rc.contract_periode, p.park_name, u.user_seq, u.user_mobile, u.user_homephone, u.user_name, u.user_graduate, us.usertype_subject1 FROM regular_contract rc INNER JOIN user u ON rc.user_id = u.user_seq JOIN usertype us ON rc.user_categoryid = us.user_categoryid INNER JOIN new_contract nc ON nc.contract_id = rc.contract_id INNER JOIN park p ON p.park_id = rc.park_id WHERE u.user_tag_serial = '" + MFCODE + "' AND nc.validity = 1 AND nc.type = 0; ";
|
||
Debug.WriteLine("\u3000〓〓更新情報取得:" + text2);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text2, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
kessaiYoyakuArray.user_id = mySqlDataReader["user_id"];
|
||
kessaiYoyakuArray.user_categoryid = mySqlDataReader["user_categoryid"];
|
||
kessaiYoyakuArray.user_graduate = mySqlDataReader["user_graduate"].ToString();
|
||
kessaiYoyakuArray.userttype_subject1 = mySqlDataReader["usertype_subject1"];
|
||
kessaiYoyakuArray.park_id = mySqlDataReader["park_id"];
|
||
kessaiYoyakuArray.price_parkplaceid = mySqlDataReader["price_parkplaceid"];
|
||
kessaiYoyakuArray.user_securitynum = mySqlDataReader["user_securitynum"];
|
||
kessaiYoyakuArray.contract_reduction = mySqlDataReader["contract_reduction"];
|
||
kessaiYoyakuArray.psection_id = Convert.ToInt32(mySqlDataReader["psection_id"]);
|
||
kessaiYoyakuArray.zone_id = mySqlDataReader["zone_id"];
|
||
kessaiYoyakuArray.pplace_no = mySqlDataReader["pplace_no"];
|
||
kessaiYoyakuArray.user_seq = mySqlDataReader["user_seq"];
|
||
kessaiYoyakuArray.user_mobile = mySqlDataReader["user_mobile"].ToString();
|
||
kessaiYoyakuArray.user_homephone = mySqlDataReader["user_homephone"].ToString();
|
||
kessaiYoyakuArray.user_name = mySqlDataReader["user_name"].ToString();
|
||
kessaiYoyakuArray.old_contract_updated_at = mySqlDataReader["contract_updated_at"].ToString();
|
||
kessaiYoyakuArray.old_contract_periods = "";
|
||
kessaiYoyakuArray.old_contract_periode = "";
|
||
kessaiYoyakuArray.contract_id = Convert.ToInt32(mySqlDataReader["contract_id"].ToString());
|
||
kessaiYoyakuArray.old_contract_id = Convert.ToString(mySqlDataReader["contract_id"].ToString());
|
||
text = mySqlDataReader["park_name"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "更新用データのチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_0.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
kessaiButton = new Button();
|
||
kessaiButton.BackgroundImageLayout = ImageLayout.Stretch;
|
||
kessaiButton.FlatStyle = FlatStyle.Flat;
|
||
kessaiButton.FlatAppearance.BorderSize = 0;
|
||
kessaiButton.BackColor = Color.Transparent;
|
||
kessaiButton.ForeColor = Color.Transparent;
|
||
kessaiButton.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
kessaiButton.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
kessaiButton.Name = "kessaiSinki";
|
||
kessaiButton.Size = new Size(800, 200);
|
||
kessaiButton.Location = new Point(250, 500);
|
||
kessaiButton.Click += SOMPR_110Button_Click;
|
||
form2.Controls.Add(kessaiButton);
|
||
kessaiLabel = new Label();
|
||
kessaiLabel.Text = "こちらの駐輪場は\r\n" + text + "です。";
|
||
kessaiLabel.Font = new Font("MS PGothic", 80f, FontStyle.Bold);
|
||
kessaiLabel.TextAlign = ContentAlignment.MiddleCenter;
|
||
kessaiLabel.Size = new Size(1280, 350);
|
||
kessaiLabel.Location = new Point(0, 180);
|
||
kessaiLabel.BackColor = Color.Transparent;
|
||
kessaiLabel.Name = "kessaiSinkiLabel";
|
||
form2.Controls.Add(kessaiLabel);
|
||
Application.DoEvents();
|
||
DateTime now = DateTime.Now;
|
||
waiting = true;
|
||
while (waiting && (DateTime.Now - now).TotalSeconds < 20.0)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
if (page_name == "SOMPR_110")
|
||
{
|
||
KessaiEnd();
|
||
}
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void SOMPR_110Button_Click(object sender, EventArgs e)
|
||
{
|
||
kessaiYoyakuArray.shinki = true;
|
||
KessaiYoyaku_1();
|
||
}
|
||
|
||
private void KessaiYoyaku(string usercode, int oldContractID, int genmenType)
|
||
{
|
||
Console.WriteLine("☆☆決済予約開始");
|
||
view_mode = true;
|
||
kessaiYoyakuArray = new ExpandoObject();
|
||
kessaiYoyakuArray.usercode = usercode;
|
||
kessaiYoyakuArray.old_contract_id = Convert.ToString(oldContractID);
|
||
kessaiYoyakuArray.genmen_type = Convert.ToString(genmenType);
|
||
string text = "SELECT DISTINCT rc.user_id, rc.user_categoryid, rc.park_id, rc.price_parkplaceid, rc.user_securitynum, rc.contract_reduction, CAST(rc.psection_id AS CHAR) AS psection_id, rc.zone_id, rc.pplace_no, rc.price_parkplaceid, rc.contract_updated_at, rc.contract_periods, rc.contract_periode, CAST(rc.800m_flag AS CHAR) AS 800m_flag, CAST(rc.tag_qr_flag AS CHAR) AS tag_qr_flag, CAST(rc.tag_change_flag AS CHAR) AS tag_change_flag, u.user_seq, u.user_mobile, u.user_homephone, u.user_name, u.user_graduate, us.usertype_subject1 FROM regular_contract rc INNER JOIN user u ON rc.user_id = u.user_seq JOIN usertype us ON rc.user_categoryid = us.user_categoryid WHERE rc.contract_id = '" + oldContractID + "';";
|
||
Debug.WriteLine("\u3000〓〓更新情報取得:" + text);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
kessaiYoyakuArray.user_id = mySqlDataReader["user_id"];
|
||
kessaiYoyakuArray.user_categoryid = mySqlDataReader["user_categoryid"];
|
||
kessaiYoyakuArray.user_graduate = mySqlDataReader["user_graduate"].ToString();
|
||
kessaiYoyakuArray.userttype_subject1 = mySqlDataReader["usertype_subject1"];
|
||
kessaiYoyakuArray.park_id = mySqlDataReader["park_id"];
|
||
kessaiYoyakuArray.price_parkplaceid = mySqlDataReader["price_parkplaceid"];
|
||
kessaiYoyakuArray.user_securitynum = mySqlDataReader["user_securitynum"];
|
||
kessaiYoyakuArray.contract_reduction = mySqlDataReader["contract_reduction"];
|
||
kessaiYoyakuArray.psection_id = Convert.ToInt32(mySqlDataReader["psection_id"]);
|
||
kessaiYoyakuArray.zone_id = mySqlDataReader["zone_id"];
|
||
kessaiYoyakuArray.pplace_no = mySqlDataReader["pplace_no"];
|
||
kessaiYoyakuArray.user_seq = mySqlDataReader["user_seq"];
|
||
kessaiYoyakuArray.user_mobile = mySqlDataReader["user_mobile"].ToString();
|
||
kessaiYoyakuArray.user_homephone = mySqlDataReader["user_homephone"].ToString();
|
||
kessaiYoyakuArray.user_name = mySqlDataReader["user_name"].ToString();
|
||
kessaiYoyakuArray.old_contract_updated_at = mySqlDataReader["contract_updated_at"].ToString();
|
||
kessaiYoyakuArray.old_contract_periods = mySqlDataReader["contract_periods"].ToString();
|
||
kessaiYoyakuArray.old_contract_periode = mySqlDataReader["contract_periode"].ToString();
|
||
kessaiYoyakuArray.old_800m_flag = mySqlDataReader["800m_flag"].ToString();
|
||
kessaiYoyakuArray.old_tag_qr_flag = mySqlDataReader["tag_qr_flag"].ToString();
|
||
kessaiYoyakuArray.old_tag_change_flag = mySqlDataReader["tag_change_flag"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "更新用データのチェック時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
string cmdText = "INSERT INTO regular_contract (old_contract_id,user_id, user_categoryid, park_id, price_parkplaceid, user_securitynum, contract_reduction, psection_id, zone_id, pplace_no, contract_created_at, created_at, updated_at,update_flag,800m_flag,tag_qr_flag,tag_change_flag,contract_cancel_flag) VALUES (@old_contract_id,@userId, @userCategoryId, @parkId, @priceParkplaceId, @userSecurityNum, @contractReduction, @psectionId, @zoneId, @pplaceNo, NOW(), NOW(), NOW(),1,@800m_flag,@tag_qr_flag,@tag_change_flag,@contract_cancel_flag);SELECT LAST_INSERT_ID();";
|
||
MySqlCommand mySqlCommand2 = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand2.Parameters.AddWithValue("@old_contract_id", kessaiYoyakuArray.old_contract_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@userId", kessaiYoyakuArray.user_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@userCategoryId", kessaiYoyakuArray.user_categoryid);
|
||
mySqlCommand2.Parameters.AddWithValue("@parkId", kessaiYoyakuArray.park_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@priceParkplaceId", kessaiYoyakuArray.price_parkplaceid);
|
||
mySqlCommand2.Parameters.AddWithValue("@userSecurityNum", kessaiYoyakuArray.user_securitynum);
|
||
mySqlCommand2.Parameters.AddWithValue("@contractReduction", kessaiYoyakuArray.contract_reduction);
|
||
mySqlCommand2.Parameters.AddWithValue("@psectionId", kessaiYoyakuArray.psection_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@zoneId", kessaiYoyakuArray.zone_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@pplaceNo", kessaiYoyakuArray.pplace_no);
|
||
mySqlCommand2.Parameters.AddWithValue("@800m_flag", kessaiYoyakuArray.old_800m_flag);
|
||
mySqlCommand2.Parameters.AddWithValue("@tag_qr_flag", kessaiYoyakuArray.old_tag_qr_flag);
|
||
mySqlCommand2.Parameters.AddWithValue("@tag_change_flag", kessaiYoyakuArray.old_tag_change_flag);
|
||
mySqlCommand2.Parameters.AddWithValue("@contract_cancel_flag", 0);
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction2 = DBconnect.BeginTransaction();
|
||
object obj = mySqlCommand2.ExecuteScalar();
|
||
if (obj != null && obj != DBNull.Value)
|
||
{
|
||
kessaiYoyakuArray.contract_id = Convert.ToInt32(obj);
|
||
}
|
||
string cmdText2 = "UPDATE regular_contract SET contract_payment_number = @contractPaymentNumber WHERE contract_id = @contract_id;";
|
||
mySqlCommand2 = new MySqlCommand(cmdText2, DBconnect);
|
||
mySqlCommand2.Parameters.AddWithValue("@contractPaymentNumber", kessaiYoyakuArray.contract_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@contract_id", kessaiYoyakuArray.contract_id);
|
||
mySqlCommand2.ExecuteNonQuery();
|
||
mySqlTransaction2.Commit();
|
||
Console.WriteLine("新しいレコードが作成されました。 新しい契約ID: " + kessaiYoyakuArray.contract_id);
|
||
}
|
||
catch (Exception ex2)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex2.Message);
|
||
ERRORINFO = "更新用作成時時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
KessaiYoyaku_1();
|
||
}
|
||
|
||
private void KessaiYoyaku_1()
|
||
{
|
||
Console.WriteLine("☆☆決済期間選択");
|
||
page_name = "kessai_1";
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_1.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
string text = "";
|
||
string text2 = "";
|
||
Dictionary<string, string> dictionary = new Dictionary<string, string>();
|
||
int num = 1;
|
||
string text3 = "SELECT web_master FROM setting LIMIT 1;";
|
||
Debug.WriteLine("\u3000〓〓料金テーブル名取得:" + text3);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text3, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
text = mySqlDataReader["web_master"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
text3 = "SELECT * FROM park JOIN regular_type ON regular_type.city_id = park.city_id WHERE park.park_id = " + kessaiYoyakuArray.park_id + " ORDER BY park.updated_at DESC LIMIT 1; ";
|
||
Debug.WriteLine("\u3000〓〓料金テーブル名取得:" + text3);
|
||
mySqlCommand = new MySqlCommand(text3, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
dictionary["1"] = mySqlDataReader["regular_class_1"].ToString();
|
||
dictionary["2"] = mySqlDataReader["regular_class_2"].ToString();
|
||
dictionary["3"] = mySqlDataReader["regular_class_3"].ToString();
|
||
dictionary["6"] = mySqlDataReader["regular_class_6"].ToString();
|
||
dictionary["12"] = mySqlDataReader["regular_class_12"].ToString();
|
||
kessaiYoyakuArray.park_name = mySqlDataReader["park_name"].ToString();
|
||
kessaiYoyakuArray.update_grace_period_start_date = mySqlDataReader["update_grace_period_start_date"].ToString();
|
||
kessaiYoyakuArray.update_grace_period_start_time = mySqlDataReader["update_grace_period_start_time"].ToString();
|
||
}
|
||
mySqlDataReader.Close();
|
||
if (kessaiYoyakuArray.old_contract_periode == "")
|
||
{
|
||
int day = int.Parse(kessaiYoyakuArray.update_grace_period_start_date);
|
||
TimeSpan timeSpan = TimeSpan.Parse(kessaiYoyakuArray.update_grace_period_start_time);
|
||
DateTime now = DateTime.Now;
|
||
DateTime dateTime;
|
||
try
|
||
{
|
||
dateTime = new DateTime(now.Year, now.Month, day, timeSpan.Hours, timeSpan.Minutes, 0);
|
||
}
|
||
catch (ArgumentOutOfRangeException)
|
||
{
|
||
int day2 = DateTime.DaysInMonth(now.Year, now.Month);
|
||
dateTime = new DateTime(now.Year, now.Month, day2, timeSpan.Hours, timeSpan.Minutes, 0);
|
||
}
|
||
DateTime dateTime2 = ((!(now > dateTime)) ? new DateTime(now.Year, now.Month, 1) : new DateTime(now.Year, now.Month, 1).AddMonths(1));
|
||
Console.WriteLine("契約開始日: " + dateTime2.ToString("yyyy年MM月dd日"));
|
||
kessaiYoyakuArray.old_contract_periode = dateTime2.AddDays(-1.0).ToString("yyyy/MM/dd") + " 0:00:00";
|
||
}
|
||
text3 = "SELECT * FROM price" + text + " WHERE ptype_id = (SELECT ptype_id FROM price" + text + " WHERE price_parkplaceid = " + kessaiYoyakuArray.price_parkplaceid + " LIMIT 1);";
|
||
Debug.WriteLine("\u3000〓〓料金テーブル名取得:" + text3);
|
||
mySqlCommand = new MySqlCommand(text3, DBconnect);
|
||
mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
text2 = mySqlDataReader["ptype_id"].ToString();
|
||
Console.WriteLine("ptype_idカラムの値: " + text2);
|
||
}
|
||
mySqlDataReader.Close();
|
||
}
|
||
catch (Exception ex2)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex2.Message);
|
||
ERRORINFO = "料金テーブル名取得時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
text3 = "SELECT * FROM price" + text + " WHERE park_id = " + kessaiYoyakuArray.park_id + " and psection_id = " + kessaiYoyakuArray.psection_id + " and ptype_id = " + text2 + " and user_categoryid = " + kessaiYoyakuArray.user_categoryid + " ORDER BY price_month; ";
|
||
Debug.WriteLine("\u3000〓〓料金チェック:" + text3);
|
||
mySqlCommand = new MySqlCommand(text3, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlDataReader mySqlDataReader2 = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader2.Read())
|
||
{
|
||
bool flag = true;
|
||
if (Convert.ToString(kessaiYoyakuArray.userttype_subject1) == "学生")
|
||
{
|
||
DateTime dateTime3 = ((DateTime)DateTime.ParseExact(kessaiYoyakuArray.old_contract_periode, "yyyy/MM/dd H:mm:ss", null)).AddDays(1.0).AddMonths(int.Parse(Convert.ToString(mySqlDataReader2["price_month"]))).AddDays(-1.0);
|
||
Console.WriteLine("user_graduateの日付: " + kessaiYoyakuArray.user_graduate);
|
||
DateTime dateTime4 = DateTime.ParseExact(kessaiYoyakuArray.user_graduate, "yyyy/MM/dd H:mm:ss", null);
|
||
Console.WriteLine("contractEndの日付: " + dateTime3.ToString());
|
||
Console.WriteLine("comparisonDateの日付: " + dateTime4.ToString());
|
||
if (dateTime3 > dateTime4)
|
||
{
|
||
flag = false;
|
||
}
|
||
}
|
||
Debug.WriteLine(mySqlDataReader2["price_month"]);
|
||
string key = Convert.ToString(mySqlDataReader2["price_month"]);
|
||
if (dictionary.ContainsKey(key) && dictionary[key] == "True" && flag)
|
||
{
|
||
string price_parkplaceid = Convert.ToString(mySqlDataReader2["price_parkplaceid"]);
|
||
string kikan = Convert.ToString(mySqlDataReader2["price_month"]);
|
||
string label = Convert.ToString(mySqlDataReader2["price"]);
|
||
CreateKessaiKikanButton(price_parkplaceid, kikan, label, num++);
|
||
}
|
||
}
|
||
mySqlDataReader2.Close();
|
||
}
|
||
catch (Exception ex3)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex3.Message);
|
||
ERRORINFO = "料金テーブル名取得時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
if (num == 1)
|
||
{
|
||
backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_1_2.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
}
|
||
else
|
||
{
|
||
CreateKessaiCancelButton();
|
||
}
|
||
Application.DoEvents();
|
||
DateTime now2 = DateTime.Now;
|
||
waiting = true;
|
||
while (waiting && (DateTime.Now - now2).TotalSeconds < 20.0)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
if (page_name == "kessai_1")
|
||
{
|
||
KessaiEnd();
|
||
}
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private bool GetDisplaySetting(string webMasterValue, string month)
|
||
{
|
||
string cmdText = "SELECT * FROM park JOIN regular_type ON regular_type.city_id = park.city_id WHERE park.park_id = " + kessaiYoyakuArray.park_id + "ORDER BY park.updated_at DESC LIMIT 1; ";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
if (mySqlDataReader.Read())
|
||
{
|
||
if (Convert.ToString(mySqlDataReader["display_setting"]) == "1")
|
||
{
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
mySqlDataReader.Close();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "料金テーブル名取得時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
return false;
|
||
}
|
||
|
||
private void CreateKessaiCancelButton()
|
||
{
|
||
kessaiButton = new Button();
|
||
kessaiButton.BackgroundImageLayout = ImageLayout.Stretch;
|
||
kessaiButton.FlatStyle = FlatStyle.Flat;
|
||
kessaiButton.FlatAppearance.BorderSize = 0;
|
||
kessaiButton.BackColor = Color.Transparent;
|
||
kessaiButton.BackgroundImage = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\kessaiCancelButton.png");
|
||
kessaiButton.Name = "kessaiCancel";
|
||
kessaiButton.Size = new Size(450, 100);
|
||
int num = (form2.ClientSize.Width - kessaiButton.Width) / 2;
|
||
kessaiButton.Location = new Point(420, 650);
|
||
kessaiButton.Click += KessaiCancelButton_Click;
|
||
form2.Controls.Add(kessaiButton);
|
||
}
|
||
|
||
private void KessaiCancelButton_Click(object sender, EventArgs e)
|
||
{
|
||
waiting = false;
|
||
}
|
||
|
||
private void CreateKessaiKikanButton(string price_parkplaceid, string kikan, string label, int order)
|
||
{
|
||
kessaiButton = new Button();
|
||
kessaiButton.BackgroundImageLayout = ImageLayout.Stretch;
|
||
kessaiButton.FlatStyle = FlatStyle.Flat;
|
||
kessaiButton.FlatAppearance.BorderSize = 0;
|
||
kessaiButton.BackColor = Color.Transparent;
|
||
kessaiButton.ForeColor = Color.Transparent;
|
||
kessaiButton.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
kessaiButton.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
kessaiButton.BackgroundImage = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\kessaiKikanButton_" + kikan.ToString() + ".png");
|
||
kessaiButton.Name = "kessaiKikan_" + kikan.ToString() + "_" + label + "_" + price_parkplaceid;
|
||
kessaiButton.Size = new Size(290, 290);
|
||
kessaiButton.Location = new Point(125 + 370 * (order - 1), 305);
|
||
kessaiButton.Click += KessaiKikanButton_Click;
|
||
form2.Controls.Add(kessaiButton);
|
||
string text = int.Parse(label).ToString("N0");
|
||
string text2 = text + "円";
|
||
kessaiLabel = new Label();
|
||
kessaiLabel.Text = text2;
|
||
kessaiLabel.Font = new Font("MS PGothic", 30f, FontStyle.Bold);
|
||
kessaiLabel.TextAlign = ContentAlignment.MiddleCenter;
|
||
kessaiLabel.Size = new Size(300, 50);
|
||
kessaiLabel.Location = new Point(kessaiButton.Left + kessaiButton.Width / 2 - kessaiLabel.Width / 2, kessaiButton.Bottom);
|
||
kessaiLabel.BackColor = Color.Transparent;
|
||
kessaiLabel.Name = "kessaiKikanLabel_" + kikan.ToString();
|
||
form2.Controls.Add(kessaiLabel);
|
||
}
|
||
|
||
private void KessaiKikanButton_Click(object sender, EventArgs e)
|
||
{
|
||
page_name = null;
|
||
Button button = (Button)sender;
|
||
if (!button.Name.StartsWith("kessaiKikan_"))
|
||
{
|
||
return;
|
||
}
|
||
string[] array = button.Name.Split('_');
|
||
kessaiYoyakuArray.enable_months = array[1];
|
||
string text = array[2].Replace(",", "").Replace("円", "");
|
||
kessaiYoyakuArray.billing_amount = text;
|
||
DateTime dateTime = DateTime.ParseExact(kessaiYoyakuArray.old_contract_periode, "yyyy/MM/dd H:mm:ss", null);
|
||
int months = int.Parse(kessaiYoyakuArray.enable_months);
|
||
int num = int.Parse(kessaiYoyakuArray.update_grace_period_start_date);
|
||
DateTime dateTime2 = dateTime.AddDays(1.0);
|
||
DateTime dateTime3 = dateTime2.AddMonths(months).AddDays(-1.0);
|
||
int num2 = DateTime.DaysInMonth(dateTime3.Year, dateTime3.Month);
|
||
dateTime3 = dateTime3.AddDays(num2 - dateTime3.Day);
|
||
DateTime dateTime4 = new DateTime(dateTime3.Year, dateTime3.Month, num);
|
||
dateTime4 = ((num <= DateTime.DaysInMonth(dateTime3.Year, dateTime3.Month)) ? new DateTime(dateTime3.Year, dateTime3.Month, num, 0, 0, 0) : new DateTime(dateTime3.Year, dateTime3.Month, DateTime.DaysInMonth(dateTime3.Year, dateTime3.Month), 0, 0, 0));
|
||
string cmdText = "UPDATE regular_contract SET updated_at = @UpdatedAt, contract_updated_at = @ContractUpdatedAt, contract_periods = @ContractPeriods, contract_periode = @ContractPeriode, enable_months = @EnableMonths, billing_amount = @BillingAmount WHERE contract_id = @ContractId";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@UpdatedAt", DateTime.Now);
|
||
mySqlCommand.Parameters.AddWithValue("@ContractUpdatedAt", dateTime4.ToString("yyyy-MM-dd"));
|
||
mySqlCommand.Parameters.AddWithValue("@ContractPeriods", dateTime2.ToString("yyyy-MM-dd"));
|
||
mySqlCommand.Parameters.AddWithValue("@ContractPeriode", dateTime3.ToString("yyyy-MM-dd"));
|
||
mySqlCommand.Parameters.AddWithValue("@EnableMonths", kessaiYoyakuArray.enable_months);
|
||
mySqlCommand.Parameters.AddWithValue("@BillingAmount", kessaiYoyakuArray.billing_amount);
|
||
mySqlCommand.Parameters.AddWithValue("@ContractId", kessaiYoyakuArray.contract_id);
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
int num3 = mySqlCommand.ExecuteNonQuery();
|
||
if (num3 > 0)
|
||
{
|
||
mySqlTransaction.Commit();
|
||
Console.WriteLine("レコードが更新されました。 更新された契約ID: " + kessaiYoyakuArray.contract_id);
|
||
}
|
||
else
|
||
{
|
||
mySqlTransaction.Rollback();
|
||
Console.WriteLine("レコードの更新に失敗しました。");
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "料金テーブル名取得時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
KessaiEnd();
|
||
}
|
||
KessaiYoyaku_2();
|
||
}
|
||
|
||
private void KessaiYoyaku_2()
|
||
{
|
||
Console.WriteLine("☆☆決済コンビニ選択");
|
||
page_name = "kessai_2";
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_2.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
CreateKessaiStoreButton("0", storeArray[0, 1], 1, 1);
|
||
CreateKessaiStoreButton("1", storeArray[1, 1], 1, 2);
|
||
CreateKessaiStoreButton("2", storeArray[2, 1], 1, 3);
|
||
CreateKessaiStoreButton("3", storeArray[3, 1], 2, 1);
|
||
CreateKessaiStoreButton("4", storeArray[4, 1], 2, 2);
|
||
Application.DoEvents();
|
||
DateTime now = DateTime.Now;
|
||
waiting = true;
|
||
while (waiting && (DateTime.Now - now).TotalSeconds < 20.0)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
if (page_name == "kessai_2")
|
||
{
|
||
KessaiEnd();
|
||
}
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void CreateKessaiStoreButton(string store, string method, int xOder, int yOder)
|
||
{
|
||
kessaiButton = new Button();
|
||
kessaiButton.BackgroundImageLayout = ImageLayout.Stretch;
|
||
kessaiButton.FlatStyle = FlatStyle.Flat;
|
||
kessaiButton.FlatAppearance.BorderSize = 0;
|
||
kessaiButton.BackColor = Color.Transparent;
|
||
kessaiButton.ForeColor = Color.Transparent;
|
||
kessaiButton.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
kessaiButton.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
kessaiButton.Name = "kessaiStore_" + store.ToString() + "_" + method.ToString();
|
||
kessaiButton.Size = new Size(565, 140);
|
||
kessaiButton.Location = new Point(65 + 585 * (xOder - 1), 300 + 155 * (yOder - 1));
|
||
kessaiButton.Click += KessaiStoreButton_Click;
|
||
form2.Controls.Add(kessaiButton);
|
||
}
|
||
|
||
private void KessaiStoreButton_Click(object sender, EventArgs e)
|
||
{
|
||
page_name = null;
|
||
Button button = (Button)sender;
|
||
if (button.Name.StartsWith("kessaiStore_"))
|
||
{
|
||
string[] array = button.Name.Split('_');
|
||
kessaiYoyakuArray.kessai_ID = storeArray[int.Parse(array[1]), 2];
|
||
kessaiYoyakuArray.store_name = storeArray[int.Parse(array[1]), 1];
|
||
kessaiYoyakuArray.payee = storeArray[int.Parse(array[1]), 0];
|
||
KessaiYoyaku_3();
|
||
}
|
||
}
|
||
|
||
private void KessaiYoyaku_3()
|
||
{
|
||
Console.WriteLine("☆☆決済期間確認");
|
||
page_name = "kessai_3";
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_3.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
string text = int.Parse(kessaiYoyakuArray.billing_amount).ToString("N0");
|
||
string text2 = text + "円";
|
||
Label label = new Label();
|
||
label.Text = kessaiYoyakuArray.enable_months + "か月更新:" + text2;
|
||
label.Font = new Font("MS PGothic", 75f, FontStyle.Bold);
|
||
Size size = TextRenderer.MeasureText(label.Text, label.Font);
|
||
int num = (1200 - size.Width) / 2;
|
||
int num2 = (800 - size.Height) / 2;
|
||
label.Location = new Point(num, num2);
|
||
label.Size = size;
|
||
label.BackColor = Color.White;
|
||
label.Name = "kessaiLabel";
|
||
form2.Controls.Add(label);
|
||
num2 = 600;
|
||
int num3 = 600;
|
||
CreateAndConfigureButton("kessaiOK", new Point(235, num3), KessaiOKButton_Click);
|
||
CreateAndConfigureButton("kessaiChange", new Point(650, num3), KessaiChangeButton_Click);
|
||
}
|
||
|
||
private void CreateAndConfigureButton(string buttonName, Point location, EventHandler clickHandler)
|
||
{
|
||
Button button = new Button
|
||
{
|
||
Name = buttonName,
|
||
FlatStyle = FlatStyle.Flat,
|
||
BackColor = Color.Transparent,
|
||
ForeColor = Color.Transparent,
|
||
Size = new Size(390, 100),
|
||
Location = location
|
||
};
|
||
button.FlatAppearance.BorderSize = 0;
|
||
button.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
button.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
button.Click += clickHandler;
|
||
form2.Controls.Add(button);
|
||
}
|
||
|
||
private void KessaiOKButton_Click(object sender, EventArgs e)
|
||
{
|
||
Button button = (Button)sender;
|
||
KessaiYoyaku_4();
|
||
}
|
||
|
||
private void KessaiChangeButton_Click(object sender, EventArgs e)
|
||
{
|
||
Button button = (Button)sender;
|
||
KessaiYoyaku_1();
|
||
}
|
||
|
||
private void KessaiYoyaku_4()
|
||
{
|
||
Console.WriteLine("☆☆決済最終確認");
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_4.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
string text = int.Parse(kessaiYoyakuArray.billing_amount).ToString("N0");
|
||
Label label = new Label();
|
||
label.Text = kessaiYoyakuArray.enable_months + "か月更新:" + text + "円";
|
||
label.Font = new Font("MS PGothic", 50f, FontStyle.Bold);
|
||
Size size = TextRenderer.MeasureText(label.Text, label.Font);
|
||
int num = (1200 - size.Width) / 2;
|
||
int num2 = (800 - size.Height) / 2 - 30;
|
||
label.Location = new Point(num, num2);
|
||
label.AutoSize = true;
|
||
label.BackColor = Color.White;
|
||
label.Name = "kessaiLabel_1";
|
||
form2.Controls.Add(label);
|
||
Label label2 = new Label();
|
||
label2.Text = "支払い場所:" + kessaiYoyakuArray.store_name;
|
||
label2.Font = new Font("MS PGothic", 50f, FontStyle.Bold);
|
||
size = TextRenderer.MeasureText(label2.Text, label2.Font);
|
||
num = (1200 - size.Width) / 2;
|
||
num2 = (800 - size.Height) / 2 + 65;
|
||
label2.Location = new Point(num, num2);
|
||
label2.AutoSize = true;
|
||
label2.BackColor = Color.White;
|
||
label2.Name = "kessaiLabel_2";
|
||
form2.Controls.Add(label2);
|
||
CreateAndConfigureButton("kessaiPrint", new Point(450, 600), KessaiPrintButton_Click);
|
||
}
|
||
|
||
private void KessaiPrintButton_Click(object sender, EventArgs e)
|
||
{
|
||
Button button = (Button)sender;
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_4-1.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
string text = KessaiYoyakuKessai();
|
||
if (text == "0000")
|
||
{
|
||
if (KessaiPrint(text))
|
||
{
|
||
KessaiYoyaku_5();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
KessaiError(text);
|
||
}
|
||
}
|
||
|
||
private string KessaiYoyakuKessai()
|
||
{
|
||
YoyakuSoapClient yoyakuSoapClient = new YoyakuSoapClient();
|
||
yoyakuSoapClient.Endpoint.Address = new EndpointAddress(str_Confile[17]);
|
||
DateTime today = DateTime.Today;
|
||
DateTime dateTime = today.AddDays(10.0).Date.AddHours(23.0).AddMinutes(59.0);
|
||
string text = str_Confile[33];
|
||
text = Regex.Replace(text.Trim().Normalize(NormalizationForm.FormKC).ToUpperInvariant(), "\\s+", "");
|
||
if (text == "TYPE-M")
|
||
{
|
||
DateTime dateTime2 = new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month), 23, 59, 0);
|
||
dateTime = dateTime2;
|
||
}
|
||
string text2 = null;
|
||
if (kessaiYoyakuArray.user_mobile.Length > 0)
|
||
{
|
||
text2 = kessaiYoyakuArray.user_mobile;
|
||
}
|
||
else if (kessaiYoyakuArray.user_homephone.Length > 0)
|
||
{
|
||
text2 = kessaiYoyakuArray.user_homephone;
|
||
}
|
||
SyunoFree[] syunoFreeArray = ((!(text == "TYPE-M")) ? new SyunoFree[9]
|
||
{
|
||
new SyunoFree
|
||
{
|
||
Index = 1,
|
||
SyunoFreeStr = "So-Manager駐輪場"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 2,
|
||
SyunoFreeStr = kessaiYoyakuArray.user_seq.ToString()
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 3,
|
||
SyunoFreeStr = kessaiYoyakuArray.store_name
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 19,
|
||
SyunoFreeStr = "株式会社ソーリン サポートセンター"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 20,
|
||
SyunoFreeStr = "03-5856-4720"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 21,
|
||
SyunoFreeStr = "12:00-22:00"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 30,
|
||
SyunoFreeStr = "0"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 39,
|
||
SyunoFreeStr = "1"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 40,
|
||
SyunoFreeStr = "ご利用ありがとうございました"
|
||
}
|
||
} : new SyunoFree[9]
|
||
{
|
||
new SyunoFree
|
||
{
|
||
Index = 1,
|
||
SyunoFreeStr = "So-Manager駐輪場"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 2,
|
||
SyunoFreeStr = kessaiYoyakuArray.user_seq.ToString()
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 3,
|
||
SyunoFreeStr = kessaiYoyakuArray.store_name
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 19,
|
||
SyunoFreeStr = "株式会社ソーリン サポートセンター"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 20,
|
||
SyunoFreeStr = "03-5856-6777"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 21,
|
||
SyunoFreeStr = "00:00-24:00"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 30,
|
||
SyunoFreeStr = "0"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 39,
|
||
SyunoFreeStr = "1"
|
||
},
|
||
new SyunoFree
|
||
{
|
||
Index = 40,
|
||
SyunoFreeStr = "ご利用ありがとうございました"
|
||
}
|
||
});
|
||
WellnetSoapHeader wellnetSoapHeader;
|
||
InParamSyunoBarCode inParamSyunoBarCode2;
|
||
if (kessaiYoyakuArray.payee == "1")
|
||
{
|
||
wellnetSoapHeader = new WellnetSoapHeader
|
||
{
|
||
UserId = str_Confile[19],
|
||
Password = str_Confile[20]
|
||
};
|
||
InParamSyunoBarCode inParamSyunoBarCode = new InParamSyunoBarCode();
|
||
inParamSyunoBarCode.DataSyubetsu = "4";
|
||
inParamSyunoBarCode.SyunoPayCode = str_Confile[21];
|
||
inParamSyunoBarCode.SyunoRecvNum = kessaiYoyakuArray.contract_id.ToString().PadLeft(3, '0');
|
||
inParamSyunoBarCode.BcJigyosyaNo = str_Confile[22];
|
||
inParamSyunoBarCode.BcAnkenNo = str_Confile[23];
|
||
inParamSyunoBarCode.BcNinsyoKey = kessaiYoyakuArray.contract_id.ToString();
|
||
inParamSyunoBarCode.SyunoOpCode = "I";
|
||
inParamSyunoBarCode.SyunoCorpCode = str_Confile[24];
|
||
inParamSyunoBarCode.SyunoTel = text2.ToString();
|
||
inParamSyunoBarCode.SyunoNameKanji = kessaiYoyakuArray.user_name.ToString();
|
||
inParamSyunoBarCode.SyunoPayLimit = dateTime.ToString("yyyyMMddHHmm");
|
||
inParamSyunoBarCode.SyunoPayAmount = kessaiYoyakuArray.billing_amount.ToString();
|
||
inParamSyunoBarCode2 = inParamSyunoBarCode;
|
||
inParamSyunoBarCode2.SyunoFreeArray = syunoFreeArray;
|
||
}
|
||
else
|
||
{
|
||
wellnetSoapHeader = new WellnetSoapHeader
|
||
{
|
||
UserId = str_Confile[25],
|
||
Password = str_Confile[26]
|
||
};
|
||
InParamSyunoBarCode inParamSyunoBarCode = new InParamSyunoBarCode();
|
||
inParamSyunoBarCode.DataSyubetsu = "4";
|
||
inParamSyunoBarCode.SyunoPayCode = str_Confile[27];
|
||
inParamSyunoBarCode.SyunoRecvNum = kessaiYoyakuArray.contract_id.ToString().PadLeft(3, '0');
|
||
inParamSyunoBarCode.BcJigyosyaNo = str_Confile[28];
|
||
inParamSyunoBarCode.BcAnkenNo = str_Confile[29];
|
||
inParamSyunoBarCode.BcNinsyoKey = kessaiYoyakuArray.contract_id.ToString();
|
||
inParamSyunoBarCode.SyunoOpCode = "I";
|
||
inParamSyunoBarCode.SyunoCorpCode = str_Confile[30];
|
||
inParamSyunoBarCode.SyunoTel = text2.ToString();
|
||
inParamSyunoBarCode.SyunoNameKanji = kessaiYoyakuArray.user_name.ToString();
|
||
inParamSyunoBarCode.SyunoPayLimit = dateTime.ToString("yyyyMMddHHmm");
|
||
inParamSyunoBarCode.SyunoPayAmount = kessaiYoyakuArray.billing_amount.ToString();
|
||
inParamSyunoBarCode2 = inParamSyunoBarCode;
|
||
inParamSyunoBarCode2.SyunoFreeArray = syunoFreeArray;
|
||
}
|
||
string cmdText = "INSERT INTO paycheck (user_id, contract_id, payee, amount, created_at, updated_at) VALUES (@userId, @contractId, @payee, @amount, @createdAt, @updatedAt);SELECT LAST_INSERT_ID();";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@userId", kessaiYoyakuArray.user_id);
|
||
mySqlCommand.Parameters.AddWithValue("@contractId", kessaiYoyakuArray.contract_id);
|
||
mySqlCommand.Parameters.AddWithValue("@payee", kessaiYoyakuArray.payee);
|
||
mySqlCommand.Parameters.AddWithValue("@amount", kessaiYoyakuArray.billing_amount);
|
||
mySqlCommand.Parameters.AddWithValue("@createdAt", DateTime.Now);
|
||
mySqlCommand.Parameters.AddWithValue("@updatedAt", DateTime.Now);
|
||
object value = mySqlCommand.ExecuteScalar();
|
||
int num = Convert.ToInt32(value);
|
||
OutParamSyunoBarCode outParamSyunoBarCode = yoyakuSoapClient.YoyakuSyunoBarCode(wellnetSoapHeader, inParamSyunoBarCode2);
|
||
string cmdText2 = "UPDATE paycheck SET result = @result, kessai_no = @kessaiNo, pay_code = @payCode, recv_num = @recvNum, jigyou_no = @jigyouNo, anken_no = @ankenNo, ninsyo_key = @ninsyoKey, mms_no = @mmsNo, url = @url, seven_no = @sevenNo, payment_due = @paymentDue, updated_at = @updatedAt WHERE paycheck_id = @paycheckId";
|
||
MySqlCommand mySqlCommand2 = new MySqlCommand(cmdText2, DBconnect);
|
||
DateTime.TryParseExact(outParamSyunoBarCode.BcSyoriDate, "yyyyMMddHHmm", CultureInfo.InvariantCulture, DateTimeStyles.None, out var result);
|
||
mySqlCommand2.Parameters.AddWithValue("@result", outParamSyunoBarCode.Result);
|
||
mySqlCommand2.Parameters.AddWithValue("@kessaiNo", outParamSyunoBarCode.KKessaiNo);
|
||
mySqlCommand2.Parameters.AddWithValue("@payCode", outParamSyunoBarCode.SyunoPayCode);
|
||
mySqlCommand2.Parameters.AddWithValue("@recvNum", outParamSyunoBarCode.SyunoRecvNum);
|
||
mySqlCommand2.Parameters.AddWithValue("@jigyouNo", outParamSyunoBarCode.BcJigyosyaNo);
|
||
mySqlCommand2.Parameters.AddWithValue("@ankenNo", outParamSyunoBarCode.BcAnkenNo);
|
||
mySqlCommand2.Parameters.AddWithValue("@ninsyoKey", outParamSyunoBarCode.BcNinsyoKey);
|
||
mySqlCommand2.Parameters.AddWithValue("@mmsNo", outParamSyunoBarCode.SyunoMMSNo);
|
||
mySqlCommand2.Parameters.AddWithValue("@url", outParamSyunoBarCode.BcUrl);
|
||
mySqlCommand2.Parameters.AddWithValue("@updatedAt", result);
|
||
mySqlCommand2.Parameters.AddWithValue("@paycheckId", num);
|
||
kessaiYoyakuArray.kessai_no = outParamSyunoBarCode.KKessaiNo;
|
||
kessaiYoyakuArray.pay_code = outParamSyunoBarCode.SyunoPayCode.Trim();
|
||
string result2 = outParamSyunoBarCode.Result;
|
||
if (kessaiYoyakuArray.payee == "1")
|
||
{
|
||
if (result2 == "0000")
|
||
{
|
||
string[] array = outParamSyunoBarCode.BcUrl.Split(' ');
|
||
kessaiYoyakuArray.sevenNo = outParamSyunoBarCode.BcUrl.Split(' ')[0];
|
||
kessaiYoyakuArray.paymentDue = outParamSyunoBarCode.BcUrl.Split(' ')[1];
|
||
mySqlCommand2.Parameters.AddWithValue("@sevenNo", kessaiYoyakuArray.sevenNo);
|
||
mySqlCommand2.Parameters.AddWithValue("@paymentDue", kessaiYoyakuArray.paymentDue);
|
||
}
|
||
else
|
||
{
|
||
kessaiYoyakuArray.sevenNo = "";
|
||
kessaiYoyakuArray.paymentDue = dateTime.ToString("yyyy-MM-dd HH:mm");
|
||
mySqlCommand2.Parameters.AddWithValue("@sevenNo", null);
|
||
mySqlCommand2.Parameters.AddWithValue("@paymentDue", kessaiYoyakuArray.paymentDue);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
kessaiYoyakuArray.sevenNo = "";
|
||
kessaiYoyakuArray.paymentDue = dateTime.ToString("yyyy-MM-dd HH:mm");
|
||
mySqlCommand2.Parameters.AddWithValue("@sevenNo", null);
|
||
mySqlCommand2.Parameters.AddWithValue("@paymentDue", kessaiYoyakuArray.paymentDue);
|
||
kessaiYoyakuArray.paymentDue = dateTime.ToString("yyyy/MM/dd");
|
||
}
|
||
int num2 = mySqlCommand2.ExecuteNonQuery();
|
||
yoyakuSoapClient.Close();
|
||
return result2;
|
||
}
|
||
|
||
private bool KessaiPrint(string result)
|
||
{
|
||
string ipAddress = str_Confile[18];
|
||
string deviceId = "local_printer";
|
||
int timeout = 30;
|
||
EpsonPrinterTMM30Service epsonPrinterTMM30Service = new EpsonPrinterTMM30Service(ipAddress, deviceId, timeout);
|
||
string soapRequest = "";
|
||
if (kessaiYoyakuArray.payee == "1")
|
||
{
|
||
soapRequest = epsonPrinterTMM30Service.GenerateSoapRequestPayee1(kessaiYoyakuArray.user_name, kessaiYoyakuArray.sevenNo, kessaiYoyakuArray.billing_amount, kessaiYoyakuArray.park_name, kessaiYoyakuArray.userttype_subject1, kessaiYoyakuArray.enable_months, kessaiYoyakuArray.paymentDue, kessaiYoyakuArray.pay_code, str_Confile[31], str_Confile[32]);
|
||
}
|
||
else if (kessaiYoyakuArray.payee == "3")
|
||
{
|
||
soapRequest = epsonPrinterTMM30Service.GenerateSoapRequestPayee2(kessaiYoyakuArray.user_name, kessaiYoyakuArray.kessai_no, kessaiYoyakuArray.billing_amount, kessaiYoyakuArray.park_name, kessaiYoyakuArray.userttype_subject1, kessaiYoyakuArray.enable_months, kessaiYoyakuArray.paymentDue, kessaiYoyakuArray.pay_code, str_Confile[31], str_Confile[32]);
|
||
}
|
||
else if (kessaiYoyakuArray.payee == "5")
|
||
{
|
||
soapRequest = epsonPrinterTMM30Service.GenerateSoapRequestPayee3(kessaiYoyakuArray.user_name, kessaiYoyakuArray.kessai_no, kessaiYoyakuArray.billing_amount, kessaiYoyakuArray.park_name, kessaiYoyakuArray.userttype_subject1, kessaiYoyakuArray.enable_months, kessaiYoyakuArray.paymentDue, kessaiYoyakuArray.pay_code, str_Confile[31], str_Confile[32]);
|
||
}
|
||
else if (kessaiYoyakuArray.payee == "2" || kessaiYoyakuArray.payee == "4")
|
||
{
|
||
soapRequest = epsonPrinterTMM30Service.GenerateSoapRequestPayee4(kessaiYoyakuArray.user_name, kessaiYoyakuArray.kessai_no, kessaiYoyakuArray.billing_amount, kessaiYoyakuArray.park_name, kessaiYoyakuArray.userttype_subject1, kessaiYoyakuArray.enable_months, kessaiYoyakuArray.paymentDue, kessaiYoyakuArray.pay_code, str_Confile[31], str_Confile[32]);
|
||
}
|
||
string text = epsonPrinterTMM30Service.PrintXml(soapRequest);
|
||
if (text != "")
|
||
{
|
||
XmlDocument xmlDocument = new XmlDocument();
|
||
xmlDocument.LoadXml(text);
|
||
XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xmlDocument.NameTable);
|
||
xmlNamespaceManager.AddNamespace("s", "http://schemas.xmlsoap.org/soap/envelope/");
|
||
xmlNamespaceManager.AddNamespace("epos", "http://www.epson-pos.com/schemas/2011/03/epos-print");
|
||
XmlNode xmlNode = xmlDocument.SelectSingleNode("//s:Body/epos:response", xmlNamespaceManager);
|
||
string value = xmlNode.Attributes["success"].Value;
|
||
string value2 = xmlNode.Attributes["status"].Value;
|
||
string value3 = xmlNode.Attributes["code"].Value;
|
||
int num = ((value == "true") ? 1 : 0);
|
||
string cmdText = "INSERT INTO receipt_log (contract_id, success, status, code,created_at) VALUES (@contract_id, @success, @status, @code, NOW())";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@contract_id", kessaiYoyakuArray.contract_id);
|
||
mySqlCommand.Parameters.AddWithValue("@success", num);
|
||
mySqlCommand.Parameters.AddWithValue("@status", value2);
|
||
mySqlCommand.Parameters.AddWithValue("@code", value3);
|
||
mySqlCommand.ExecuteNonQuery();
|
||
if (!(value == "true"))
|
||
{
|
||
string text2 = epsonPrinterTMM30Service.PrinterErrorHandling(value2, kessaiYoyakuArray.park_id.ToString(), DBconnect);
|
||
if (!string.IsNullOrEmpty(text2))
|
||
{
|
||
KessaiPrinterError(text2);
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
epsonPrinterTMM30Service.PrinterPapperCheck(value2, kessaiYoyakuArray.park_id.ToString(), DBconnect);
|
||
return true;
|
||
}
|
||
string value4 = "102";
|
||
string value5 = "TM プリンター無応答";
|
||
string value6 = "プリンタを確認し、必要に応じて再起動してください。";
|
||
string cmdText2 = "INSERT INTO operator_que (user_id, contract_id, park_id, que_class, que_comment, que_status, created_at, updated_at, operator_id, work_instructions) VALUES (NULL, NULL, @parkId, @queClass, @queComment, 1, NOW(), NOW(), NULL, @workInstructions)";
|
||
MySqlCommand mySqlCommand2 = new MySqlCommand(cmdText2, DBconnect);
|
||
mySqlCommand2.Parameters.AddWithValue("@parkId", kessaiYoyakuArray.park_id);
|
||
mySqlCommand2.Parameters.AddWithValue("@queClass", value4);
|
||
mySqlCommand2.Parameters.AddWithValue("@queComment", value5);
|
||
mySqlCommand2.Parameters.AddWithValue("@workInstructions", value6);
|
||
mySqlCommand2.ExecuteNonQuery();
|
||
string error_bitmap = "pic_kessai_err_00.png";
|
||
KessaiPrinterError(error_bitmap);
|
||
return false;
|
||
}
|
||
|
||
private void KessaiErrButton_Click(object sender, EventArgs e)
|
||
{
|
||
waiting = false;
|
||
}
|
||
|
||
private void KessaiPrinterError(string error_bitmap)
|
||
{
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\" + error_bitmap);
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
Button button = new Button();
|
||
button.FlatStyle = FlatStyle.Flat;
|
||
button.FlatAppearance.BorderSize = 0;
|
||
button.BackColor = Color.Transparent;
|
||
button.ForeColor = Color.Transparent;
|
||
button.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
button.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
button.Size = new Size(450, 100);
|
||
button.Location = new Point(420, 580);
|
||
button.Click += KessaiErrButton_Click;
|
||
form2.Controls.Add(button);
|
||
Application.DoEvents();
|
||
waiting = true;
|
||
while (waiting)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
form2.Controls.Remove(button);
|
||
KessaiEnd();
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void KessaiError(string result)
|
||
{
|
||
Console.WriteLine("☆☆決済エラー終了");
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_err_02.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
Button button = new Button();
|
||
button.FlatStyle = FlatStyle.Flat;
|
||
button.FlatAppearance.BorderSize = 0;
|
||
button.BackColor = Color.Transparent;
|
||
button.ForeColor = Color.Transparent;
|
||
button.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
button.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
button.Size = new Size(450, 100);
|
||
button.Location = new Point(420, 580);
|
||
button.Click += KessaiErrButton_Click;
|
||
form2.Controls.Add(button);
|
||
Label label = new Label();
|
||
label.Text = "we_" + result;
|
||
label.Font = new Font("MS PGothic", 30f);
|
||
Size size = TextRenderer.MeasureText(label.Text, label.Font);
|
||
label.Location = new Point(650, 80);
|
||
label.AutoSize = true;
|
||
label.BackColor = Color.Transparent;
|
||
label.ForeColor = Color.White;
|
||
label.Name = "kessaiLabel_1";
|
||
form2.Controls.Add(label);
|
||
Application.DoEvents();
|
||
waiting = true;
|
||
while (waiting)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
form2.Controls.Remove(button);
|
||
KessaiEnd();
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void KessaiYoyaku_5()
|
||
{
|
||
Console.WriteLine("☆☆決済完了");
|
||
page_name = "kessai_5";
|
||
view_mode = true;
|
||
KessaiPartsRemove();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_kessai_5.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
SetHomeButton();
|
||
Button button = new Button();
|
||
button.FlatStyle = FlatStyle.Flat;
|
||
button.FlatAppearance.BorderSize = 0;
|
||
button.BackColor = Color.Transparent;
|
||
button.ForeColor = Color.Transparent;
|
||
button.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
||
button.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
||
button.Size = new Size(450, 100);
|
||
button.Location = new Point(420, 630);
|
||
button.Name = "kessaiComplate";
|
||
button.Click += KessaiComplateButton_Click;
|
||
form2.Controls.Add(button);
|
||
Application.DoEvents();
|
||
DateTime now = DateTime.Now;
|
||
waiting = true;
|
||
while (waiting && (DateTime.Now - now).TotalSeconds < 10.0)
|
||
{
|
||
Application.DoEvents();
|
||
Thread.Sleep(100);
|
||
}
|
||
KessaiEnd();
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void KessaiComplateButton_Click(object sender, EventArgs e)
|
||
{
|
||
waiting = false;
|
||
}
|
||
|
||
private void KessaiPartsRemove()
|
||
{
|
||
form2.SuspendLayout();
|
||
List<Control> list = new List<Control>();
|
||
foreach (Control control in form2.Controls)
|
||
{
|
||
if (control is Button button && button.Name.StartsWith("kessai"))
|
||
{
|
||
list.Add(button);
|
||
}
|
||
else if (control is Label label && label.Name.StartsWith("kessai"))
|
||
{
|
||
list.Add(label);
|
||
}
|
||
}
|
||
foreach (Control item in list)
|
||
{
|
||
form2.Controls.Remove(item);
|
||
item.Dispose();
|
||
}
|
||
form2.ResumeLayout(performLayout: true);
|
||
}
|
||
|
||
public void KessaiEnd()
|
||
{
|
||
KessaiPartsRemove();
|
||
waiting = false;
|
||
page_name = null;
|
||
MFCODE = "";
|
||
kessaiYoyakuArray = new ExpandoObject();
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
view_mode = false;
|
||
}
|
||
|
||
private void Form1_Shown(object sender, EventArgs e)
|
||
{
|
||
uint num = 0u;
|
||
int num2 = 0;
|
||
uint num3 = 0u;
|
||
bool flag = true;
|
||
string text = "";
|
||
string str_prnprm = "";
|
||
num = ConRead.ReadConFile(ref str_Confile);
|
||
if (num == 1)
|
||
{
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
SO_FullScreen(MSG_NUM, 0);
|
||
DateTime now = DateTime.Now;
|
||
TodayLogName = now.ToString("yyyyMMdd");
|
||
LogfilePath = str_Confile[8];
|
||
LogfileName = str_Confile[8] + str_Confile[9] + "_" + TodayLogName + ".csv";
|
||
if (str_Confile[5] == "1")
|
||
{
|
||
DEBUG_MODE = "1";
|
||
Form3 form = new Form3();
|
||
form.Show();
|
||
form.TopMost = true;
|
||
}
|
||
else
|
||
{
|
||
DEBUG_MODE = "0";
|
||
}
|
||
DB_PORT_NUMBER = str_Confile[4];
|
||
DB_NAME = str_Confile[3];
|
||
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
|
||
dataGridView1.ColumnHeadersHeight = 30;
|
||
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
|
||
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders;
|
||
dataGridView1.ColumnCount = 8;
|
||
dataGridView1.Columns[0].HeaderText = "処理ログID";
|
||
dataGridView1.Columns[1].HeaderText = "駐輪場ID";
|
||
dataGridView1.Columns[2].HeaderText = "プロセス名";
|
||
dataGridView1.Columns[3].HeaderText = "ジョブ名";
|
||
dataGridView1.Columns[4].HeaderText = "ステータス";
|
||
dataGridView1.Columns[5].HeaderText = "エラーコード";
|
||
dataGridView1.Columns[6].HeaderText = "ステータスコメント";
|
||
dataGridView1.Columns[7].HeaderText = "登録日時";
|
||
dataGridView1.Columns[0].Width = 60;
|
||
dataGridView1.Columns[1].Width = 70;
|
||
dataGridView1.Columns[2].Width = 70;
|
||
dataGridView1.Columns[3].Width = 70;
|
||
dataGridView1.Columns[4].Width = 90;
|
||
dataGridView1.Columns[5].Width = 60;
|
||
dataGridView1.Columns[7].Width = 120;
|
||
dataGridView1.EnableHeadersVisualStyles = false;
|
||
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.ForestGreen;
|
||
string text2 = Convert.ToString(DateTime.Now);
|
||
num = Logfile.ReadLogFile();
|
||
for (int i = 0; i < 15; i++)
|
||
{
|
||
dataGridView1.Rows.Add(koumoku[i, 0], koumoku[i, 1], koumoku[i, 2], koumoku[i, 3], koumoku[i, 4], koumoku[i, 5], koumoku[i, 6], koumoku[i, 7]);
|
||
}
|
||
if (num == 1)
|
||
{
|
||
SO_CommIniErr(85, 0);
|
||
SO_WriteLog(85);
|
||
EndProc();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
READGIP = GetGIP(str_Confile[GIP_NUM]);
|
||
Debug.WriteLine("★★初期化完了。QR/タグ待ち受けに移行★★\u3000\u3000" + now.ToString());
|
||
while (!quitRequested)
|
||
{
|
||
if (!SO_DBOpen())
|
||
{
|
||
SO_CommIniErr(10, 1);
|
||
KEEPALIVE.AutoClosingMessageBox.Show("ネットワークが切断されました", "N/Wエラー", 10000);
|
||
Thread.Sleep(3000);
|
||
}
|
||
if (!SO_PrnEnvRead_rty())
|
||
{
|
||
SO_CommIniErr(15, 2);
|
||
EndProc();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
if (SO_DBLayoutFile() != 0)
|
||
{
|
||
SO_CommIniErr(15, 2);
|
||
EndProc();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
if (!File.Exists(str_layoutFile))
|
||
{
|
||
Debug.WriteLine(str_layoutFile);
|
||
Trace.WriteLine("★レイアウトファイルがありません★");
|
||
MessageBox.Show("レイアウトファイルがありません。以下のファイルの存在を確認してください: " + Environment.NewLine + str_layoutFile, "レイアウトファイルエラー", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
SO_CommIniErr(11, 2);
|
||
EndProc();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
form2.Text = form2.Text + " デバイスID:" + KpAlive_devid + " レイアウト:" + str_layoutFile;
|
||
if (!SO_PrnInit())
|
||
{
|
||
Debug.WriteLine("☆☆プリンタ初期化エラー☆☆");
|
||
form2.label1.Text = "エラー";
|
||
form2.label1.ForeColor = Color.White;
|
||
form2.label1.BackColor = Color.Red;
|
||
Application.DoEvents();
|
||
SO_CommIniErr(12, 3);
|
||
Thread.Sleep(5000);
|
||
Debug.WriteLine("☆☆アプリケーションリブートします☆☆");
|
||
EndProc();
|
||
Debug.WriteLine("\u3000\u3000☆アプリケーションリブート2");
|
||
Application.Restart();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
Trace.WriteLine("★プリンター初期化完了★");
|
||
|
||
|
||
|
||
if (!SO_MfifareInit())
|
||
{
|
||
SO_CommIniErr(13, 4);
|
||
EndProc();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
|
||
if (DEBUG_MODE == "0")
|
||
{
|
||
MFresult = SO_MfifareCheck();
|
||
}
|
||
|
||
if (!SO_QRcordInit())
|
||
{
|
||
SO_CommIniErr(14, 5);
|
||
EndProc();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
if (!SO_ComCont(2, 6))
|
||
{
|
||
break;
|
||
}
|
||
KEEPALIVE.TIM_Main();
|
||
uint num4 = SO_DBChk_print_area(int.Parse(str_Confile[6]));
|
||
string text3 = "";
|
||
int[] array = park_id_set;
|
||
for (int j = 0; j < array.Length; j++)
|
||
{
|
||
int num5 = array[j];
|
||
text3 = text3 + Convert.ToString(num5) + "/";
|
||
if (num5 == 0)
|
||
{
|
||
break;
|
||
}
|
||
Debug.WriteLine(" --許可駐輪場ID(configまたはprint_area):" + num5);
|
||
}
|
||
text3 = text3.Replace("/0/", "");
|
||
form2.Text = vertext + " " + Prn_ParkName + " " + text3 + " " + form2.Text;
|
||
Debug.WriteLine("☆☆処理待ちループ開始☆☆");
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
while (!quitRequested)
|
||
{
|
||
KEEPALIVE.MyTimer_start();
|
||
while (!quitRequested)
|
||
{
|
||
Application.DoEvents();
|
||
if (EndType == 10)
|
||
{
|
||
EndProc();
|
||
Application.Exit();
|
||
return;
|
||
}
|
||
if (QRresult != 0)
|
||
{
|
||
Debug.WriteLine("☆☆QRresult" + Convert.ToString(QRresult) + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
|
||
if (QRresult == 1)
|
||
{
|
||
if (DEBUG_MODE == "0")
|
||
{
|
||
serialPort1.Write(Tag_LED);
|
||
}
|
||
Thread.Sleep(500);
|
||
num3 = QRresult;
|
||
break;
|
||
}
|
||
if (QRresult == 2)
|
||
{
|
||
flag = SO_ComCont(50, EndType);
|
||
EndProc();
|
||
break;
|
||
}
|
||
QRresult = 0u;
|
||
}
|
||
else
|
||
{
|
||
if (DEBUG_MODE == "0")
|
||
{
|
||
MFresult = SO_MfifareCheck();
|
||
}
|
||
else if (MFresult != 0)
|
||
{
|
||
continue;
|
||
}
|
||
if (MFresult == 0)
|
||
{
|
||
num3 = MFresult;
|
||
break;
|
||
}
|
||
if (MFresult > 10 && MFresult != 3221356545u && MFresult != 3221356547u)
|
||
{
|
||
flag = SO_ComCont(55, EndType);
|
||
EndProc();
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
if (!genmenFlg_2)
|
||
{
|
||
form2.RemoveMachiukeButtons();
|
||
Bitmap backgroundImage2 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic2.png");
|
||
form2.BackgroundImage = backgroundImage2;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
if ((num3 == 0 && MFresult != 0) || (num3 == 1 && QRresult == 2))
|
||
{
|
||
MFresult = 0u;
|
||
QRresult = 0u;
|
||
break;
|
||
}
|
||
KEEPALIVE.MyTimer_stop();
|
||
for (int k = 0; k < Retry_num; k++)
|
||
{
|
||
str_uid = "";
|
||
if (num3 == 1)
|
||
{
|
||
text = QRdata;
|
||
QRresult = 0u;
|
||
ReceptionType = "QR";
|
||
num = SO_DBChk_qrcheck(ref text);
|
||
Debug.WriteLine("\u3000\u3000☆1:" + num);
|
||
}
|
||
else
|
||
{
|
||
ReceptionType = "TAG";
|
||
test_mode = false;
|
||
num = SO_DBChk_tagnum();
|
||
MFresult = 10u;
|
||
}
|
||
Debug.WriteLine("\u3000\u3000str_uid:" + str_uid);
|
||
Debug.WriteLine("\u3000\u3000SO_DBChk_tagnum result:" + num);
|
||
switch (num)
|
||
{
|
||
case 0u:
|
||
num = SO_CommLabelOutput(num3);
|
||
Debug.WriteLine("\u3000\u3000☆3:" + num);
|
||
if (num != 0)
|
||
{
|
||
DBconnect.Open();
|
||
continue;
|
||
}
|
||
break;
|
||
case 1u:
|
||
DBconnect.Open();
|
||
continue;
|
||
}
|
||
break;
|
||
}
|
||
switch (num)
|
||
{
|
||
case 0u:
|
||
flag = true;
|
||
break;
|
||
case 1u:
|
||
flag = SO_ComCont(15, 6);
|
||
EndProc();
|
||
break;
|
||
case 2u:
|
||
flag = SO_ComCont(20, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 3u:
|
||
flag = SO_ComCont(30, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 4u:
|
||
flag = SO_ComCont(21, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 5u:
|
||
flag = SO_ComCont(90, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 6u:
|
||
flag = SO_ComCont(91, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 7u:
|
||
flag = SO_ComCont(92, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 8u:
|
||
flag = SO_ComCont(93, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 9u:
|
||
Debug.WriteLine("\u3000◆読み取ったタグは対象外駐輪場");
|
||
flag = SO_ComCont(84, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
case 10u:
|
||
Debug.WriteLine("\u3000◆読み取ったQRは対象外駐輪場");
|
||
flag = SO_ComCont(88, EndType);
|
||
if (flag)
|
||
{
|
||
continue;
|
||
}
|
||
break;
|
||
default:
|
||
flag = true;
|
||
continue;
|
||
}
|
||
if (!flag || num == 1)
|
||
{
|
||
break;
|
||
}
|
||
uint num6 = SO_DBChk_print_area(int.Parse(str_Confile[6]));
|
||
int[] array2 = park_id_set;
|
||
for (int l = 0; l < array2.Length; l++)
|
||
{
|
||
int num7 = array2[l];
|
||
Debug.WriteLine("\u3000◆取得駐輪場ID:" + num7);
|
||
if (num7 == 0)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
num2 = SO_PRN_datchk(ref str_prnprm);
|
||
str_logkm[6] = str_prnprm;
|
||
Debug.WriteLine("\u3000\u3000☆SO_PRN_datchk:\u3000" + num2);
|
||
if (num2 != 0)
|
||
{
|
||
if (num3 == 1)
|
||
{
|
||
Bitmap backgroundImage3 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_202.png");
|
||
form2.BackgroundImage = backgroundImage3;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
Thread.Sleep(3000);
|
||
}
|
||
Bitmap backgroundImage4 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage4;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
if (!SO_ComCont(num2, EndType))
|
||
{
|
||
EndProc();
|
||
break;
|
||
}
|
||
continue;
|
||
}
|
||
Debug.WriteLine(" --処理0");
|
||
Bitmap backgroundImage5 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic2-1.png");
|
||
form2.BackgroundImage = backgroundImage5;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
// 立刻结束程序
|
||
Environment.Exit(0);
|
||
num = SO_PrnOut();
|
||
//num = SO_PrnOut_EpsonNetwork();
|
||
Debug.WriteLine(" --処理印刷\u3000 result " + num);
|
||
if (num != 0)
|
||
{
|
||
Debug.WriteLine(" --処理1a bResult " + SO_ComCont(40, EndType));
|
||
Bitmap backgroundImage6 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic5.png");
|
||
form2.BackgroundImage = backgroundImage6;
|
||
RemoveHomeButton();
|
||
Debug.WriteLine(" --エラー\u3000 result " + num);
|
||
Application.DoEvents();
|
||
Thread.Sleep(3000);
|
||
Bitmap backgroundImage7 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage7;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
EndProc();
|
||
break;
|
||
}
|
||
flag = SO_DBInsert_seal2(num3);
|
||
if (!test_mode)
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
string cmdText = "UPDATE new_contract SET validity=0 WHERE contract_id = @contractId;";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.Parameters.AddWithValue("@contractId", LOC_contract_id);
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
Debug.WriteLine(" --処理1b bResult " + flag);
|
||
num = SO_DBPrnPrm();
|
||
if (num != 0)
|
||
{
|
||
flag = SO_ComCont(15, EndType);
|
||
EndProc();
|
||
break;
|
||
}
|
||
Debug.WriteLine(" --処理2");
|
||
Prn_NowNum++;
|
||
if (Prn_MaxNum - Prn_NowNum < Prn_Alert_num && Prn_Alert_flg == 1)
|
||
{
|
||
num = SO_DBOpeQue();
|
||
if (num != 0)
|
||
{
|
||
flag = SO_ComCont(15, 6);
|
||
EndProc();
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
num = SO_DBNowPrnNum_rty();
|
||
if (num != 0)
|
||
{
|
||
flag = SO_ComCont(15, 6);
|
||
EndProc();
|
||
break;
|
||
}
|
||
}
|
||
Debug.WriteLine(" --処理3");
|
||
uint num8 = SO_DBChk_print_area(int.Parse(str_Confile[6]));
|
||
if (test_mode)
|
||
{
|
||
flag = SO_ComCont(90, EndType);
|
||
Debug.WriteLine(" --処理3a bResult " + flag);
|
||
if (!flag)
|
||
{
|
||
EndProc();
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
str_logkm[6] = "定期契約駐輪場ID=" + str_rctbl[9] + "、駐輪場名=" + SO_DBChk_park_name(int.Parse(str_rctbl[9])) + "、" + ReceptionType;
|
||
flag = SO_ComCont(0, EndType);
|
||
Debug.WriteLine(" --処理3b bResult " + flag);
|
||
if (!flag)
|
||
{
|
||
EndProc();
|
||
break;
|
||
}
|
||
}
|
||
Application.DoEvents();
|
||
Debug.WriteLine(" --処理おわり");
|
||
Debug.WriteLine(" --印刷完了表示");
|
||
Bitmap backgroundImage8 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic3.png");
|
||
form2.BackgroundImage = backgroundImage8;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
Thread.Sleep(5000);
|
||
Debug.WriteLine(" --待ち受け表示");
|
||
Bitmap backgroundImage9 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage9;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
Thread.Sleep(5000);
|
||
Debug.WriteLine(" --待ち受け表示おわり");
|
||
continue;
|
||
}
|
||
MFresult = 0u;
|
||
QRresult = 0u;
|
||
genmenFlg_2 = false;
|
||
break;
|
||
}
|
||
}
|
||
EndProc();
|
||
Application.Exit();
|
||
}
|
||
|
||
private void SO_FullScreen(int msgn, int mode)
|
||
{
|
||
try
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(str_Confile[msgn]) && str_Confile[msgn].Length > 2)
|
||
{
|
||
int num = str_Confile[msgn].Length;
|
||
string text = str_Confile[msgn];
|
||
if (num > 6)
|
||
{
|
||
num = 6;
|
||
text = str_Confile[9].Substring(0, 6);
|
||
}
|
||
int num2 = 300 - (num - 3) * 40;
|
||
int num3 = 110 + (num - 3) * 110;
|
||
if (mode == 0)
|
||
{
|
||
form2.Show();
|
||
}
|
||
form2.label1.Text = text;
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic0.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
Debug.WriteLine("ラベル表示名: " + text);
|
||
form2.Text = "駐ID: " + str_Confile[6] + " LOG:" + str_Confile[8] + " DBG:" + str_Confile[5];
|
||
form2.label1.TextAlign = ContentAlignment.MiddleCenter;
|
||
form2.TopMost = true;
|
||
form2.WindowState = FormWindowState.Maximized;
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_イメージリソースエラー:" + ex.Message + " --> " + ex);
|
||
MessageBox.Show("起動に必要なイメージリソースが見つかりません。正しくセットアップしてください。", "リソースエラー", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
Close();
|
||
Application.Exit();
|
||
Console.WriteLine("Exit");
|
||
}
|
||
}
|
||
|
||
public string GetGIP(string url)
|
||
{
|
||
string input = "";
|
||
try
|
||
{
|
||
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
|
||
using HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
||
using Stream stream = httpWebResponse.GetResponseStream();
|
||
using StreamReader streamReader = new StreamReader(stream, Encoding.UTF8);
|
||
input = streamReader.ReadToEnd();
|
||
}
|
||
catch
|
||
{
|
||
Debug.WriteLine("★★_ERROR_1");
|
||
return "N/A";
|
||
}
|
||
Regex regex = new Regex("<body>(?<body>.*?)</body>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
|
||
Match match = regex.Match(input);
|
||
string value = match.Groups["body"].Value;
|
||
return (!string.IsNullOrWhiteSpace(value)) ? value.TrimStart() : "N/A";
|
||
}
|
||
|
||
private void SO_CommIniErr(int type, int n)
|
||
{
|
||
EndType = n;
|
||
SO_LogEdit(type);
|
||
if (type != 10 && type != 15)
|
||
{
|
||
SO_DBInsert_pjl(type);
|
||
}
|
||
SO_WriteLog(type);
|
||
switch (type)
|
||
{
|
||
case 12:
|
||
{
|
||
Bitmap backgroundImage3 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic5.png");
|
||
form2.BackgroundImage = backgroundImage3;
|
||
RemoveHomeButton();
|
||
break;
|
||
}
|
||
case 13:
|
||
{
|
||
Bitmap backgroundImage2 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic6.png");
|
||
form2.BackgroundImage = backgroundImage2;
|
||
RemoveHomeButton();
|
||
break;
|
||
}
|
||
default:
|
||
{
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic7.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
break;
|
||
}
|
||
}
|
||
Application.DoEvents();
|
||
Thread.Sleep(20000);
|
||
}
|
||
|
||
private bool SO_ComCont(int type, int n)
|
||
{
|
||
Debug.WriteLine(" ◎SO_ComCont.type:" + type);
|
||
Debug.WriteLine(" ◎SO_ComCont.n:" + n);
|
||
uint num = 0u;
|
||
EndType = n;
|
||
SO_LogEdit(type);
|
||
if (type != 15 && (!SO_DBInsert_pjl(type) || n == 15))
|
||
{
|
||
SO_LogEdit(15);
|
||
SO_WriteLog(15);
|
||
return false;
|
||
}
|
||
Debug.WriteLine(" ◎To\u3000SO_WriteLog:" + type);
|
||
num = SO_WriteLog(type);
|
||
if (num == 1)
|
||
{
|
||
SO_LogEdit(87);
|
||
Debug.WriteLine(" SO_DBInsert_pjl2:" + 87);
|
||
SO_DBInsert_pjl(87);
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
private uint SO_CommLabelOutput(uint mode)
|
||
{
|
||
uint num = 0u;
|
||
num = SO_PrnLabeEdit(mode);
|
||
if (num == 1)
|
||
{
|
||
return 1u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
public static void SO_LogFileDelCheck()
|
||
{
|
||
int num = 0;
|
||
bool flag = true;
|
||
string nwm = DateTime.Now.ToString("yyyyMM");
|
||
string text = "";
|
||
string text2 = "";
|
||
DirectoryInfo directoryInfo = new DirectoryInfo(LogfilePath);
|
||
if (!directoryInfo.Exists)
|
||
{
|
||
return;
|
||
}
|
||
FileInfo[] files = directoryInfo.GetFiles();
|
||
for (num = 0; num < files.Length; num++)
|
||
{
|
||
string text3 = Convert.ToString(files[num]);
|
||
if (text3.Length == 24)
|
||
{
|
||
text2 = text3.Substring(text3.Length - 12, 12);
|
||
text = text2.Substring(0, 6);
|
||
if (!LogFileChk_Mo(nwm, text))
|
||
{
|
||
File.Delete(LogfilePath + files[num]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
public static bool LogFileChk_Mo(string Nwm, string Tgm)
|
||
{
|
||
string text = Nwm.Substring(0, 4);
|
||
int num = Convert.ToInt32(Nwm.Substring(0, 4));
|
||
int num2 = Convert.ToInt32(Tgm.Substring(0, 4));
|
||
int num3 = Convert.ToInt32(Nwm.Substring(4, 2));
|
||
int num4 = Convert.ToInt32(Tgm.Substring(4, 2));
|
||
int num5 = Convert.ToInt32(str_Confile[10]);
|
||
int num6 = num3 - num4;
|
||
if (num6 < 0)
|
||
{
|
||
num6 += 12;
|
||
num--;
|
||
}
|
||
int num7 = num - num2;
|
||
if (num7 < 0)
|
||
{
|
||
return true;
|
||
}
|
||
int num8 = num7 * 12 + num6;
|
||
if (num8 > num5)
|
||
{
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
private int SO_PRN_datchk(ref string str_prnprm)
|
||
{
|
||
string text = DateTime.Now.ToString("yyyy/MM/dd");
|
||
if (test_mode)
|
||
{
|
||
return 0;
|
||
}
|
||
if (str_rctbl[4] != "1" || str_rctbl[5] != "1")
|
||
{
|
||
str_prnprm = $"シール発行不可 授受フラグ={str_rctbl[4]}、 シール発行許可={str_rctbl[5]}";
|
||
return 81;
|
||
}
|
||
if (text.CompareTo(str_rctbl[2]) > 0)
|
||
{
|
||
str_prnprm = $"シール発行不可 本日={text}、 有効期間E={str_rctbl[2]}";
|
||
return 82;
|
||
}
|
||
if (text.CompareTo(str_rctbl[3]) < 0)
|
||
{
|
||
str_prnprm = $"シール発行不可 本日={text}、 シール印刷可能日={str_rctbl[3]}";
|
||
return 83;
|
||
}
|
||
if (SO_Chk_print_area(int.Parse(str_rctbl[9])) == 0)
|
||
{
|
||
string text2 = "";
|
||
int[] array = park_id_set;
|
||
foreach (int num in array)
|
||
{
|
||
text2 = text2 + Convert.ToString(num) + "/";
|
||
if (num == 0)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
Debug.WriteLine(" ++定期契約駐輪場ID:" + str_rctbl[9]);
|
||
Debug.WriteLine(" ++許可駐輪場群ID:" + text2);
|
||
str_prnprm = string.Format("対象駐輪場範囲外 定期契約駐輪場ID={0}、 許可された駐輪場ID群={1}", str_rctbl[9], text2.Replace("/0/", ""));
|
||
return 84;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
private void button1_Click(object sender, EventArgs e)
|
||
{
|
||
EndType = 10;
|
||
}
|
||
|
||
private void SO_LogEdit(int n)
|
||
{
|
||
DateTime now = DateTime.Now;
|
||
FileVersionInfo versionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
|
||
Console.WriteLine(versionInfo.ProductVersion);
|
||
vertext = " Ver." + versionInfo.ProductVersion;
|
||
switch (n)
|
||
{
|
||
case 0:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "シール印刷";
|
||
str_logkm[4] = "正常印刷";
|
||
str_logkm[5] = "0";
|
||
break;
|
||
case 2:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = " ";
|
||
str_logkm[3] = " ";
|
||
str_logkm[4] = "開始";
|
||
str_logkm[5] = "0";
|
||
str_logkm[6] = "[" + str_Confile[0] + "](自機GIP=" + READGIP + ") " + Prn_ParkName + vertext;
|
||
break;
|
||
case 15:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 113.ToString();
|
||
str_logkm[6] = "DBアクセスエラー";
|
||
break;
|
||
case 10:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "初期化処理";
|
||
str_logkm[4] = "DBアタッチエラー";
|
||
str_logkm[5] = 100.ToString();
|
||
str_logkm[6] = "DB OPENに失敗";
|
||
break;
|
||
case 11:
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "初期化処理";
|
||
str_logkm[4] = "レイアウトファイルエラー";
|
||
str_logkm[5] = 110.ToString();
|
||
str_logkm[6] = "レイアウトファイルが見つからない " + str_layoutFile;
|
||
break;
|
||
case 12:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "初期化処理";
|
||
str_logkm[4] = "プリンタ初期化エラー";
|
||
str_logkm[5] = 200.ToString();
|
||
str_logkm[6] = "プリンタ初期化に失敗";
|
||
break;
|
||
case 13:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "初期化処理";
|
||
str_logkm[4] = "カードリーダ初期化エラー";
|
||
str_logkm[5] = 300.ToString();
|
||
str_logkm[6] = "Mifareリーダ初期化に失敗";
|
||
break;
|
||
case 14:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "初期化処理";
|
||
str_logkm[4] = "カードリーダ初期化エラー";
|
||
str_logkm[5] = 301.ToString();
|
||
str_logkm[6] = "QRコードリーダ初期化に失敗";
|
||
break;
|
||
case 20:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 1.ToString();
|
||
str_logkm[6] = "タグ利用者なし (該当Mifareコードなし) CODE=(" + MFCODE + ")";
|
||
break;
|
||
case 92:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 1.ToString();
|
||
str_logkm[6] = "タグ\u3000シール発行済 CODE=(" + MFCODE + " → " + LOC_contract_id + ")";
|
||
break;
|
||
case 93:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 1.ToString();
|
||
str_logkm[6] = "タグ\u3000費用未払い CODE=(" + MFCODE + " → " + LOC_contract_id + ")";
|
||
break;
|
||
case 21:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 5.ToString();
|
||
str_logkm[6] = "タグ利用者なし (該当利用者IDなし)";
|
||
break;
|
||
case 30:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 3.ToString();
|
||
str_logkm[6] = "該当QRコードなし CODE=(" + QRdata + ")";
|
||
break;
|
||
case 91:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 3.ToString();
|
||
str_logkm[6] = "該当QRシール発行済 CODE=(" + QRdata + " → " + LOC_contract_id + ")";
|
||
break;
|
||
case 40:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 201.ToString();
|
||
str_logkm[6] = "プリンタエラー";
|
||
break;
|
||
case 50:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 303.ToString();
|
||
str_logkm[6] = "QRコード読み取りエラー";
|
||
break;
|
||
case 55:
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 302.ToString();
|
||
str_logkm[6] = "Mifare読み取りエラー";
|
||
break;
|
||
case 80:
|
||
str_logkm[0] = "";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "初期化処理";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 80.ToString();
|
||
str_logkm[6] = "設定ファイル読み込みエラー";
|
||
break;
|
||
case 85:
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "初期化処理";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 111.ToString();
|
||
str_logkm[6] = "ログファイル読み込みエラー";
|
||
break;
|
||
case 87:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 112.ToString();
|
||
str_logkm[6] = "ログファイル書き込みエラー";
|
||
break;
|
||
case 81:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 50.ToString();
|
||
str_logkm[6] = "授受フラグまたはシール発行許可エラー";
|
||
break;
|
||
case 82:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 51.ToString();
|
||
str_logkm[6] = "「有効期間S」と「有効期間E」の間でない";
|
||
break;
|
||
case 83:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "利用者確認";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 52.ToString();
|
||
str_logkm[6] = "「シール印刷可能日」以降でない";
|
||
break;
|
||
case 84:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "対象駐輪場外";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 53.ToString();
|
||
str_logkm[6] = "対象駐輪場範囲外(TAG) 定期契約駐輪場ID=" + Tag_ParkID + " TAG=" + MFCODE;
|
||
break;
|
||
case 88:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "定期シール発行";
|
||
str_logkm[3] = "対象駐輪場外";
|
||
str_logkm[4] = "error";
|
||
str_logkm[5] = 53.ToString();
|
||
str_logkm[6] = "対象駐輪場範囲外(QR) 定期契約駐輪場ID=" + LOC_park_id;
|
||
break;
|
||
case 90:
|
||
str_logkm[0] = " ";
|
||
str_logkm[2] = "シール発行テスト";
|
||
str_logkm[3] = "テスト";
|
||
str_logkm[4] = "test";
|
||
str_logkm[5] = 400.ToString();
|
||
str_logkm[6] = "QRコードによるテスト印刷";
|
||
break;
|
||
}
|
||
str_logkm[1] = str_Confile[6];
|
||
str_logkm[7] = now.ToString();
|
||
}
|
||
|
||
private uint SO_WriteLog(int type)
|
||
{
|
||
uint result = 0u;
|
||
string text = "";
|
||
string text2 = Convert.ToString(DateTime.Now);
|
||
string text3 = DateTime.Now.ToString("yyyyMMdd");
|
||
if (string.Compare(text3, TodayLogName) != 0)
|
||
{
|
||
LogfilePath = str_Confile[8];
|
||
LogfileName = str_Confile[8] + str_Confile[9] + "_" + TodayLogName + ".csv";
|
||
TodayLogName = text3;
|
||
}
|
||
try
|
||
{
|
||
using StreamWriter streamWriter = new StreamWriter(LogfileName, append: true, Encoding.GetEncoding("utf-8"));
|
||
if (type != 0)
|
||
{
|
||
Debug.WriteLine(" ◎◎SO_WriteLog.type:" + type);
|
||
Bitmap bitmap = null;
|
||
if (type == 30 || type == 91 || type == 20 || type == 92 || type == 93 || type == 84 || type == 88 || type == 82)
|
||
{
|
||
Application.DoEvents();
|
||
if (DEBUG_MODE == "0" && BEEP_MODE == "1")
|
||
{
|
||
Debug.WriteLine("★BEEP:" + str_logkm[5]);
|
||
for (int i = 0; i < 10; i++)
|
||
{
|
||
serialPort1.Write(Tag_LED_ERR);
|
||
Application.DoEvents();
|
||
Thread.Sleep(200);
|
||
}
|
||
}
|
||
int num = 0;
|
||
int num2 = -1;
|
||
int num3 = -1;
|
||
if (MFresult == 10 && MFCODE != "")
|
||
{
|
||
num3 = CheckNewContract(MFCODE);
|
||
switch (num3)
|
||
{
|
||
case 0:
|
||
Console.WriteLine("SOMPR-110に進む");
|
||
SOMPR_110();
|
||
break;
|
||
case 1:
|
||
Console.WriteLine("SOMPR-120に進む");
|
||
SOMPR_120();
|
||
break;
|
||
case 3:
|
||
Console.WriteLine("更新期間外");
|
||
break;
|
||
default:
|
||
num = CheckContractRenewal(MFCODE);
|
||
break;
|
||
}
|
||
}
|
||
if (num != 0 && num3 != 0 && num3 != 1 && num3 != 3)
|
||
{
|
||
num2 = CheckContractRenewalPeriod(num);
|
||
if (num2 > 0)
|
||
{
|
||
Console.WriteLine("減免のチェックをする");
|
||
int num4 = CheckGenmen(MFCODE, num);
|
||
switch (num4)
|
||
{
|
||
case 1:
|
||
ZeroenKoushin(MFCODE, num);
|
||
break;
|
||
case 2:
|
||
MFCODE = "";
|
||
break;
|
||
default:
|
||
Console.WriteLine("決済チェックOK。決済処理に進む");
|
||
KessaiYoyaku(MFCODE, num, num4);
|
||
while (view_mode)
|
||
{
|
||
Application.DoEvents();
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else if (num3 != 0 && num3 != 1 && num3 != 3)
|
||
{
|
||
if (num != 0)
|
||
{
|
||
num2 = CheckContractRenewalPeriod(num);
|
||
}
|
||
if (num2 != 0)
|
||
{
|
||
if (type == 30)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_202.png");
|
||
form2.BackgroundImage = bitmap;
|
||
RemoveHomeButton();
|
||
}
|
||
if (type == 91)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_204.png");
|
||
form2.BackgroundImage = bitmap;
|
||
RemoveHomeButton();
|
||
}
|
||
if (type == 20)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_201.png");
|
||
form2.BackgroundImage = bitmap;
|
||
RemoveHomeButton();
|
||
}
|
||
if (type == 92)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_203.png");
|
||
form2.BackgroundImage = bitmap;
|
||
RemoveHomeButton();
|
||
}
|
||
if (type == 93)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_205.png");
|
||
form2.BackgroundImage = bitmap;
|
||
RemoveHomeButton();
|
||
}
|
||
if (type == 84)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_201.png");
|
||
form2.BackgroundImage = bitmap;
|
||
RemoveHomeButton();
|
||
}
|
||
if (type == 88)
|
||
{
|
||
bitmap = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic_err_202.png");
|
||
form2.BackgroundImage = bitmap;
|
||
RemoveHomeButton();
|
||
}
|
||
Application.DoEvents();
|
||
Thread.Sleep(3000);
|
||
}
|
||
}
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
RemoveHomeButton();
|
||
Application.DoEvents();
|
||
}
|
||
text = str_logkm[0] + "," + str_uid + "," + LOC_contract_id + "," + str_logkm[1] + "," + str_logkm[2] + "," + str_logkm[3] + "," + str_logkm[4] + "," + str_logkm[5] + "," + str_logkm[6] + "," + str_logkm[7] + "," + ERRORINFO + "," + DEBUG_MODE;
|
||
Debug.WriteLine("!アラートログ書込み:" + text);
|
||
}
|
||
else
|
||
{
|
||
text = str_logkm[0] + "," + str_uid + "," + LOC_contract_id + "," + str_logkm[1] + "," + str_logkm[2] + "," + str_logkm[3] + "," + str_logkm[4] + "," + str_logkm[5] + "," + str_logkm[6] + "," + str_logkm[7] + ",," + DEBUG_MODE;
|
||
Debug.WriteLine("!ノーマルログ書込み:" + text);
|
||
}
|
||
streamWriter.WriteLine(text);
|
||
}
|
||
catch (Exception ex) when (ex is IOException)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_2\u3000ログファイルオープンエラー:" + ex.Message + " --> " + ex);
|
||
MessageBox.Show("SOM_config.datのログフォルダ指定に誤りがあるか、ログファイルが別のプログラムで開かれています。閉じてください。", "ログファイルオープンエラー", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
Trace.WriteLine(ex.Message);
|
||
result = 1u;
|
||
}
|
||
catch (Exception ex2)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_2B\u3000その他エラー:" + ex2.Message + " --> " + ex2);
|
||
Trace.WriteLine(ex2.Message);
|
||
result = 1u;
|
||
}
|
||
for (int num5 = 14; num5 > 0; num5--)
|
||
{
|
||
for (int j = 0; j < 8; j++)
|
||
{
|
||
dataGridView1[j, num5].Value = dataGridView1[j, num5 - 1].Value;
|
||
}
|
||
}
|
||
dataGridView1[0, 0].Value = str_logkm[0];
|
||
dataGridView1[1, 0].Value = str_logkm[1];
|
||
dataGridView1[2, 0].Value = str_logkm[2];
|
||
dataGridView1[3, 0].Value = str_logkm[3];
|
||
dataGridView1[4, 0].Value = str_logkm[4];
|
||
dataGridView1[5, 0].Value = str_logkm[5];
|
||
dataGridView1[6, 0].Value = str_logkm[6];
|
||
dataGridView1[7, 0].Value = str_logkm[7];
|
||
Refresh();
|
||
ERRORINFO = "";
|
||
return result;
|
||
}
|
||
|
||
private bool SO_DBOpen()
|
||
{
|
||
bool result = true;
|
||
Debug.WriteLine("★DBパラメータ:server={0};port={1};user={2};password={3};database={4};SSL Mode=None", str_Confile[0], DB_PORT_NUMBER, str_Confile[1], str_Confile[2], DB_NAME);
|
||
connectionParams = $"server={str_Confile[0]};port={DB_PORT_NUMBER};user={str_Confile[1]};password={str_Confile[2]};database={DB_NAME};SSL Mode=None";
|
||
DBconnect = new MySqlConnection(connectionParams);
|
||
try
|
||
{
|
||
DBconnect.Open();
|
||
Debug.WriteLine("DBconnect open");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_3");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "DBOPENエラー=" + ex.Message;
|
||
result = false;
|
||
}
|
||
return result;
|
||
}
|
||
|
||
public static uint SO_DBPrnPrm()
|
||
{
|
||
if (test_mode)
|
||
{
|
||
return 0u;
|
||
}
|
||
DateTime now = DateTime.Now;
|
||
string text = "update regular_contract set contract_seal_issue=" + Convert.ToString(Convert.ToInt32(str_rctbl[7]) + 1) + ", contract_permission=0 , updated_at = '" + now.ToString() + "' where user_id=" + str_uid + " and contract_id=" + str_rctbl[0] + ";";
|
||
Debug.WriteLine("★シール印刷後更新SQL:" + text);
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_4");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "定期契約マスタ更新エラー=" + ex.Message;
|
||
DBconnect.Close();
|
||
return 1u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
public static int SO_DBKpAlive(string Insert_SQL)
|
||
{
|
||
try
|
||
{
|
||
if (DBconnect.State != ConnectionState.Open)
|
||
{
|
||
DBconnect.Open();
|
||
Debug.WriteLine("KeepAlive_DB再接続しました");
|
||
}
|
||
else
|
||
{
|
||
Debug.WriteLine("KeepAlive_DB接続中");
|
||
}
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlCommand mySqlCommand = new MySqlCommand(Insert_SQL, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_5 N/W停止:" + ex.Message);
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "デバイス管理マスタ書き込みエラー=" + ex.Message;
|
||
DBconnect.Close();
|
||
return 1;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
private uint SO_DBNowPrnNum_rty()
|
||
{
|
||
uint num = 0u;
|
||
if (test_mode)
|
||
{
|
||
return 0u;
|
||
}
|
||
for (int i = 0; i < Retry_num; i++)
|
||
{
|
||
num = SO_DBNowPrnNum();
|
||
if (num == 1)
|
||
{
|
||
Trace.WriteLine("error");
|
||
ERRORINFO = "駐輪場マスタ:印字数更新時エラー";
|
||
DBconnect.Open();
|
||
continue;
|
||
}
|
||
return 0u;
|
||
}
|
||
return 1u;
|
||
}
|
||
|
||
private uint SO_DBNowPrnNum()
|
||
{
|
||
DateTime now = DateTime.Now;
|
||
string cmdText = "update park set print_number=" + Convert.ToString(Prn_NowNum) + " where park_id=" + str_Confile[6] + ";";
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_6");
|
||
Trace.WriteLine(ex.Message);
|
||
DBconnect.Close();
|
||
return 1u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
private uint SO_DBOpeQue()
|
||
{
|
||
if (test_mode)
|
||
{
|
||
return 0u;
|
||
}
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
DateTime now = DateTime.Now;
|
||
string text = "INSERT INTO operator_que (park_id, que_class, que_status_comment, work_instructions, created_at, que_status) VALUES (" + str_Confile[6] + ",104,'" + str_Confile[7] + "','" + Prn_ParkName + "の用紙がもうすぐ無くなります。交換してください','" + now.ToString() + "',1);";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
Trace.WriteLine(text);
|
||
try
|
||
{
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_7");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "オペレータキューテーブルレコード追加時エラー";
|
||
return 1u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
private int SO_DBLayoutFile()
|
||
{
|
||
string text = "";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(DBREAD_print_layout + str_Confile[6] + ";", DBconnect);
|
||
Trace.WriteLine("★ :" + DBREAD_print_layout + str_Confile[6]);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
text = Convert.ToString(mySqlDataReader["print_layout"]);
|
||
Trace.WriteLine("★レイアウトファイル:" + text);
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_8");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "印字レイアウトファイル名読み取り時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return 1;
|
||
}
|
||
str_layoutFile = Directory.GetCurrentDirectory() + "\\" + text + ".CLF";
|
||
return 0;
|
||
}
|
||
|
||
private bool SO_PrnEnvRead_rty()
|
||
{
|
||
bool flag = true;
|
||
for (int i = 0; i < Retry_num; i++)
|
||
{
|
||
if (!SO_PrnEnvRead())
|
||
{
|
||
Trace.WriteLine("error");
|
||
ERRORINFO = "設定マスタ(setting),デバイス管理マスタ(device)読み取り時エラー発生";
|
||
DBconnect.Open();
|
||
continue;
|
||
}
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
private bool SO_PrnEnvRead()
|
||
{
|
||
string text = "select printable_alert_flag,printable_number,printable_alert_number from setting ORDER BY setting_id DESC;";
|
||
string text2 = "select park_name, print_number from park where park_id=" + str_Confile[6] + ";";
|
||
string text3 = "select device_id from device where park_id=" + str_Confile[6] + " and device_type='プリンタ' and device_work='1';";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
Debug.WriteLine("★設定取得SQL:" + text);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
Prn_Alert_flg = Convert.ToInt32(mySqlDataReader["printable_alert_flag"]);
|
||
Prn_MaxNum = Convert.ToInt32(mySqlDataReader["printable_number"]);
|
||
Prn_Alert_num = Convert.ToInt32(mySqlDataReader["printable_alert_number"]);
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (MySqlException ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_9");
|
||
Trace.WriteLine(ex.Message);
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return false;
|
||
}
|
||
catch (Exception ex2)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_10");
|
||
Trace.WriteLine(ex2.Message);
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return false;
|
||
}
|
||
MySqlCommand mySqlCommand2 = new MySqlCommand(text2, DBconnect);
|
||
Debug.WriteLine("★駐車場取得取得SQL:" + text2);
|
||
mySqlCommand2.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction2 = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader2 = mySqlCommand2.ExecuteReader();
|
||
while (mySqlDataReader2.Read())
|
||
{
|
||
Prn_ParkName = Convert.ToString(mySqlDataReader2["park_name"]);
|
||
if (mySqlDataReader2.IsDBNull(1))
|
||
{
|
||
Prn_NowNum = 0;
|
||
}
|
||
else
|
||
{
|
||
Prn_NowNum = Convert.ToInt32(mySqlDataReader2["print_number"]);
|
||
}
|
||
}
|
||
mySqlDataReader2.Close();
|
||
mySqlTransaction2.Commit();
|
||
}
|
||
catch (Exception ex3)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_11");
|
||
Trace.WriteLine(ex3.Message);
|
||
DBconnect.Close();
|
||
mySqlCommand2.Dispose();
|
||
return false;
|
||
}
|
||
MySqlCommand mySqlCommand3 = new MySqlCommand(text3, DBconnect);
|
||
Debug.WriteLine("★デバイスID取得SQL:" + text3);
|
||
mySqlCommand3.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction3 = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader3 = mySqlCommand3.ExecuteReader();
|
||
while (mySqlDataReader3.Read())
|
||
{
|
||
KpAlive_devid = Convert.ToString(mySqlDataReader3["device_id"]);
|
||
}
|
||
mySqlDataReader3.Close();
|
||
mySqlTransaction3.Commit();
|
||
}
|
||
catch (Exception ex4)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_12");
|
||
Trace.WriteLine(ex4.Message);
|
||
DBconnect.Close();
|
||
mySqlCommand3.Dispose();
|
||
return false;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(KpAlive_devid))
|
||
{
|
||
KpAlive_devid = "99";
|
||
}
|
||
return true;
|
||
}
|
||
|
||
private uint SO_DBChk_qrnum(ref string str_qrc)
|
||
{
|
||
string cmdText = "select user_id, contract_id ,park_id from regular_contract where contract_qr_id='" + str_qrc + "';";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
if (object.Equals(str_qrc, TESTQR_STRING))
|
||
{
|
||
test_mode = true;
|
||
Debug.WriteLine("◆QRテストモード\u3000オン");
|
||
mySqlTransaction.Commit();
|
||
return 0u;
|
||
}
|
||
test_mode = false;
|
||
Debug.WriteLine("◆QRテストモード\u3000オフ");
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
str_uid = Convert.ToString(mySqlDataReader["user_id"]);
|
||
LOC_contract_id = Convert.ToString(mySqlDataReader["contract_id"]);
|
||
LOC_park_id = Convert.ToString(mySqlDataReader["park_id"]);
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_13");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "該当定期契約QRID検索時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return 1u;
|
||
}
|
||
if (str_uid.Length == 0)
|
||
{
|
||
return 3u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
private uint SO_DBChk_qrcheck(ref string str_qrc)
|
||
{
|
||
int num = 0;
|
||
string text = "";
|
||
string text2 = "";
|
||
string text3 = "select user_id, contract_id, contract_flag, contract_permission,park_id from regular_contract where contract_qr_id='" + str_qrc + "' ORDER BY updated_at DESC limit 1;";
|
||
Debug.WriteLine("◆◆_SO_DBChk_qrcheck: " + text3);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text3, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
if (object.Equals(str_qrc, TESTQR_STRING))
|
||
{
|
||
test_mode = true;
|
||
Debug.WriteLine("◆QRテストモード\u3000オン");
|
||
mySqlTransaction.Commit();
|
||
return 0u;
|
||
}
|
||
test_mode = false;
|
||
Debug.WriteLine("◆QRテストモード\u3000オフ");
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
num = 1;
|
||
text = Convert.ToString(mySqlDataReader["contract_permission"]);
|
||
text2 = Convert.ToString(mySqlDataReader["contract_flag"]);
|
||
str_uid = Convert.ToString(mySqlDataReader["user_id"]);
|
||
LOC_contract_id = Convert.ToString(mySqlDataReader["contract_id"]);
|
||
LOC_park_id = Convert.ToString(mySqlDataReader["park_id"]);
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("◆◆_ERROR_20");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "該当定期契約QRIDチェックエラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return 1u;
|
||
}
|
||
if (num == 0)
|
||
{
|
||
Debug.WriteLine("◆◆_SO_DBChk_qrcheck_エラー:該当QRレコードなし: " + str_qrc);
|
||
return 3u;
|
||
}
|
||
Debug.WriteLine("◆◆_SO_DBChk_qrcheck_contract_permission: " + text);
|
||
if (text2.Equals("False"))
|
||
{
|
||
Debug.WriteLine("◆◆_SO_DBChk_qrcheck_エラー:QR未決済: " + str_qrc);
|
||
return 3u;
|
||
}
|
||
if (text.Equals("False"))
|
||
{
|
||
Debug.WriteLine("◆◆_SO_DBChk_qrcheck_エラー:シール発行済: " + str_qrc);
|
||
return 6u;
|
||
}
|
||
if (SO_Chk_print_area(int.Parse(LOC_park_id)) == 0)
|
||
{
|
||
Debug.WriteLine("◆◆_SO_DBChk_qrcheck_エラー:対象駐輪場外: " + LOC_park_id);
|
||
return 10u;
|
||
}
|
||
Debug.WriteLine("◆◆_SO_DBChk_qrcheck_正常終了: " + str_qrc);
|
||
return 0u;
|
||
}
|
||
|
||
private uint SO_DBChk_print_area(int set_park_id)
|
||
{
|
||
Array.Clear(park_id_set, 0, 500);
|
||
string text = "select park_id from print_area where print_area_name = (select print_area_name from print_area where park_id= '" + set_park_id + "');";
|
||
Debug.WriteLine("★シール印刷範囲マスタ取得SQL:" + text);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
int num = 0;
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
park_id_set[num] = Convert.ToInt32(mySqlDataReader["park_id"]);
|
||
num++;
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_14");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "シール印刷範囲マスタ検索時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return 1u;
|
||
}
|
||
if (park_id_set[0] == 0)
|
||
{
|
||
park_id_set[0] = set_park_id;
|
||
return 0u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
private string SO_DBChk_park_name(int park_id)
|
||
{
|
||
string result = "";
|
||
string text = "select park_name from park where park_id =" + park_id;
|
||
Debug.WriteLine("★駐輪場名取得SQL:" + text);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
int num = 0;
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
result = Convert.ToString(mySqlDataReader["park_name"]);
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_15");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "駐輪場名検索時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return "N/A";
|
||
}
|
||
return result;
|
||
}
|
||
|
||
private int SO_Chk_print_area(int park_id)
|
||
{
|
||
Debug.WriteLine("★シール印刷範囲チェック:" + park_id);
|
||
int[] array = park_id_set;
|
||
for (int i = 0; i < array.Length; i++)
|
||
{
|
||
int num = array[i];
|
||
Debug.WriteLine(" --チェック取得駐輪場ID:" + num);
|
||
if (num == park_id)
|
||
{
|
||
Debug.WriteLine(" --チェックOK");
|
||
return 1;
|
||
}
|
||
if (num == 0)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
Debug.WriteLine(" --チェックNG");
|
||
return 0;
|
||
}
|
||
|
||
private uint SO_DBChk_tagnum()
|
||
{
|
||
string text = "";
|
||
string text2 = "";
|
||
string text3 = "";
|
||
string text4 = "select distinct t2.user_id, t2.contract_id, t2.park_id, t2.contract_flag, t2.contract_permission from (user t1, regular_contract t2) where t1.user_seq = t2.user_id and t1.user_tag_serial='" + MFCODE + "' ORDER BY t2.updated_at DESC , t2.contract_id DESC LIMIT 1;";
|
||
Debug.WriteLine("\u3000〓〓タグからユーザー取得SQL:" + text4);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text4, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
str_uid = Convert.ToString(mySqlDataReader["user_id"]);
|
||
LOC_contract_id = Convert.ToString(mySqlDataReader["contract_id"]);
|
||
text = Convert.ToString(mySqlDataReader["contract_flag"]);
|
||
text2 = Convert.ToString(mySqlDataReader["contract_permission"]);
|
||
text3 = (Tag_ParkID = Convert.ToString(mySqlDataReader["park_id"]));
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_ERROR_16");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "該当タグシリアル検索時エラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
return 1u;
|
||
}
|
||
if (str_uid.Length == 0)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_SO_DBChk_tagnum_エラー:該当レコード無し: " + MFCODE);
|
||
return 2u;
|
||
}
|
||
Debug.WriteLine("\u3000\u3000〓〓_SO_DBChk_tagnum:s_contract_flag(授受フラグ): " + text);
|
||
Debug.WriteLine("\u3000\u3000〓〓_SO_DBChk_tagnum:s_contract_permission(印刷許可フラグ): " + text2);
|
||
Debug.WriteLine("\u3000\u3000〓〓_SO_DBChk_tagnum:最新定期契約 park_id: " + text3);
|
||
if (SO_Chk_print_area(int.Parse(text3)) == 0)
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_SO_DBChk_tagnum_エラー:該当駐輪場外: " + text3);
|
||
return 9u;
|
||
}
|
||
if (!text.Equals("True"))
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_SO_DBChk_tagnum_エラー:未授受: " + LOC_contract_id);
|
||
return 8u;
|
||
}
|
||
if (text2.Equals("False"))
|
||
{
|
||
Debug.WriteLine("\u3000〓〓_SO_DBChk_tagnum_エラー:シール発行済: " + LOC_contract_id);
|
||
return 7u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
/*private int SO_DBPrndat_01(uint type)
|
||
{
|
||
str_rctbl = new string[11];
|
||
string text = "";
|
||
string text2 = "";
|
||
string text3 = "";
|
||
string text4 = ((type == 0 || type == 3) ? (DBREAD_Prndat01[type] + DBREAD_Prndat02[type] + "'" + MFCODE + "' ORDER BY ta3.updated_at DESC LIMIT 1;") : ((type != 2) ? (DBREAD_Prndat01[type] + DBREAD_Prndat02[type] + "'" + QRdata + "';") : (DBREAD_Prndat01[type] + DBREAD_Prndat02[type] + "'" + MFCODE + "' ORDER BY ta3.updated_at DESC LIMIT 1;")));
|
||
if (DEBUG_MODE == "1")
|
||
{
|
||
MessageBox.Show("シール印刷用SQL:" + text4, "デバッグモード", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
}
|
||
Debug.WriteLine("★シール印刷データ取得SQL_A:" + DBREAD_Prndat01[type]);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_B(park_id):" + str_Confile[6]);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_C:" + DBREAD_Prndat02[type]);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_D:" + MFCODE);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_E:" + QRdata);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_ALL:" + text4);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text4, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
int num = 0;
|
||
MySqlTransaction mySqlTransaction = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
str_Prndat[0] = Convert.ToString(mySqlDataReader["park_name"]);
|
||
str_Prndat[2] = Convert.ToString(mySqlDataReader["ptype_subject"]);
|
||
str_Prndat[7] = Convert.ToString(mySqlDataReader["city_name"]);
|
||
str_Prndat[8] = Convert.ToString(mySqlDataReader["user_id"]);
|
||
str_Prndat[12] = Convert.ToString(mySqlDataReader["user_seq"]);
|
||
str_Prndat[11] = Convert.ToString(mySqlDataReader["zone_name"]);
|
||
if (string.IsNullOrEmpty(Convert.ToString(mySqlDataReader["pplace_no"])))
|
||
{
|
||
str_Prndat[9] = str_Prndat[11];
|
||
}
|
||
else
|
||
{
|
||
str_Prndat[9] = str_Prndat[11] + ":" + Convert.ToString(mySqlDataReader["pplace_no"]);
|
||
}
|
||
text = Convert.ToString(mySqlDataReader["contract_periode"]);
|
||
text2 = Convert.ToString(mySqlDataReader["contract_id"]);
|
||
text3 = Convert.ToString(mySqlDataReader["usertype_subject1"]);
|
||
str_rctbl[3] = Convert.ToString(mySqlDataReader["printable_date"]);
|
||
str_rctbl[4] = ((mySqlDataReader["contract_flag"] != DBNull.Value) ? Convert.ToString(Convert.ToInt16(mySqlDataReader["contract_flag"])) : "0");
|
||
str_rctbl[5] = ((mySqlDataReader["contract_permission"] != DBNull.Value) ? Convert.ToString(Convert.ToInt16(mySqlDataReader["contract_permission"])) : "0");
|
||
str_rctbl[7] = Convert.ToString(mySqlDataReader["contract_seal_issue"]);
|
||
str_rctbl[8] = Convert.ToString(mySqlDataReader["user_id"]);
|
||
str_rctbl[9] = Convert.ToString(mySqlDataReader["park_id"]);
|
||
str_rctbl[10] = Convert.ToString(Convert.ToInt16(mySqlDataReader["tag_qr_flag"]));
|
||
if (string.IsNullOrWhiteSpace(str_rctbl[7]))
|
||
{
|
||
str_rctbl[7] = "0";
|
||
num = 0;
|
||
}
|
||
else
|
||
{
|
||
num = Convert.ToInt32(str_rctbl[7]);
|
||
}
|
||
}
|
||
mySqlDataReader.Close();
|
||
if (text3 == "学生")
|
||
{
|
||
str_Prndat[1] = "学";
|
||
}
|
||
else
|
||
{
|
||
str_Prndat[1] = " ";
|
||
}
|
||
if (num > 0)
|
||
{
|
||
str_Prndat[5] = "再" + str_rctbl[7];
|
||
}
|
||
else
|
||
{
|
||
str_Prndat[5] = "";
|
||
}
|
||
if (str_rctbl[10] == "0" || str_rctbl[10] == "False")
|
||
{
|
||
str_Prndat[10] = "●";
|
||
}
|
||
else
|
||
{
|
||
str_Prndat[10] = "";
|
||
}
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_17");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "シールの印字内容を読み取り時にエラー発生";
|
||
DBconnect.Close();
|
||
mySqlCommand.Dispose();
|
||
for (int i = 0; i < 8; i++)
|
||
{
|
||
str_rctbl[i] = " ";
|
||
}
|
||
return 1;
|
||
}
|
||
if (type == 2 || type == 3)
|
||
{
|
||
text = kessaiYoyakuArray.contract_periode;
|
||
str_rctbl[3] = kessaiYoyakuArray.contract_periode;
|
||
}
|
||
if (string.IsNullOrWhiteSpace(str_Prndat[0]) || string.IsNullOrWhiteSpace(str_Prndat[2]) || string.IsNullOrWhiteSpace(text) || string.IsNullOrWhiteSpace(text2) || string.IsNullOrWhiteSpace(str_rctbl[3]) || string.IsNullOrWhiteSpace(str_rctbl[5]) || string.IsNullOrWhiteSpace(str_rctbl[8]))
|
||
{
|
||
DBconnect.Close();
|
||
ERRORINFO = "シールの印字内容を読み取り時にエラー発生";
|
||
return 1;
|
||
}
|
||
Cperiods(text, ref str_Prndat[3]);
|
||
Cperiode(text, ref str_Prndat[4]);
|
||
str_Prndat[6] = text2;
|
||
str_rctbl[0] = text2;
|
||
str_rctbl[2] = text.Substring(0, 10);
|
||
str_rctbl[3] = str_rctbl[3].Substring(0, 10);
|
||
str_Prndat[0] = SO_DBChk_park_name(int.Parse(str_rctbl[9]));
|
||
Debug.WriteLine("\u3000\u3000☆定期契約X park_id:" + str_rctbl[9]);
|
||
Debug.WriteLine("\u3000\u3000☆定期契約X park_name:" + str_Prndat[0]);
|
||
return 0;
|
||
}*/
|
||
private int SO_DBPrndat_01(uint type)
|
||
{
|
||
// 清空/准备缓冲
|
||
str_rctbl = new string[11];
|
||
string periode = "";
|
||
string contractId = "";
|
||
string userType1 = "";
|
||
|
||
// 组SQL
|
||
string sql =
|
||
(type == 0 || type == 3)
|
||
? (DBREAD_Prndat01[type] + DBREAD_Prndat02[type] + "'" + MFCODE + "' ORDER BY ta3.updated_at DESC LIMIT 1;")
|
||
: (type != 2)
|
||
? (DBREAD_Prndat01[type] + DBREAD_Prndat02[type] + "'" + QRdata + "';")
|
||
: (DBREAD_Prndat01[type] + DBREAD_Prndat02[type] + "'" + MFCODE + "' ORDER BY ta3.updated_at DESC LIMIT 1;");
|
||
|
||
if (DEBUG_MODE == "1")
|
||
MessageBox.Show("シール印刷用SQL:" + sql, "デバッグモード", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
|
||
Debug.WriteLine("★シール印刷データ取得SQL_A:" + DBREAD_Prndat01[type]);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_B(park_id):" + str_Confile[6]);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_C:" + DBREAD_Prndat02[type]);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_D:" + MFCODE);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_E:" + QRdata);
|
||
Debug.WriteLine("★シール印刷データ取得SQL_ALL:" + sql);
|
||
|
||
using (var cmd = new MySqlCommand(sql, DBconnect))
|
||
{
|
||
cmd.CommandTimeout = 10; // 读1行给10秒更稳
|
||
|
||
try
|
||
{
|
||
using (var r = cmd.ExecuteReader())
|
||
{
|
||
if (!r.HasRows)
|
||
{
|
||
Trace.WriteLine("[Prndat01] NO ROWS for QR=" + QRdata + ", park_id=" + str_Confile[6]);
|
||
ERRORINFO = "印字データが見つかりません";
|
||
return 1;
|
||
}
|
||
|
||
// 便捷安全取值
|
||
string S(string col) => r[col] == DBNull.Value ? "" : Convert.ToString(r[col]);
|
||
int I(string col, int def = 0) => r[col] == DBNull.Value ? def : Convert.ToInt32(r[col]);
|
||
|
||
int reissueCount = 0;
|
||
|
||
// 只要第一条完整记录
|
||
while (r.Read())
|
||
{
|
||
str_Prndat[0] = S("park_name");
|
||
str_Prndat[2] = S("ptype_subject");
|
||
str_Prndat[7] = S("city_name");
|
||
str_Prndat[8] = S("user_id");
|
||
str_Prndat[12] = S("user_seq");
|
||
str_Prndat[11] = S("zone_name");
|
||
|
||
var pplace = S("pplace_no");
|
||
str_Prndat[9] = string.IsNullOrEmpty(pplace) ? str_Prndat[11] : $"{str_Prndat[11]}:{pplace}";
|
||
|
||
periode = S("contract_periode");
|
||
contractId = S("contract_id");
|
||
userType1 = S("usertype_subject1");
|
||
|
||
str_rctbl[3] = S("printable_date");
|
||
str_rctbl[4] = I("contract_flag", 0).ToString();
|
||
str_rctbl[5] = I("contract_permission", 0).ToString();
|
||
str_rctbl[7] = S("contract_seal_issue");
|
||
str_rctbl[8] = S("user_id");
|
||
str_rctbl[9] = S("park_id");
|
||
str_rctbl[10] = I("tag_qr_flag", 0).ToString(); // ← 允许为NULL
|
||
|
||
// 再发回数
|
||
reissueCount = string.IsNullOrWhiteSpace(str_rctbl[7]) ? 0 : I("contract_seal_issue", 0);
|
||
|
||
// 学生标记/再発/タグ●
|
||
str_Prndat[1] = (userType1 == "学生") ? "学" : " ";
|
||
str_Prndat[5] = (reissueCount > 0) ? ("再" + reissueCount) : "";
|
||
str_Prndat[10] = (str_rctbl[10] == "0" || str_rctbl[10].Equals("False", StringComparison.OrdinalIgnoreCase)) ? "●" : "";
|
||
|
||
break; // 取到第一条就够了
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_17");
|
||
Trace.WriteLine("[Prndat01 EX] " + ex.GetType().Name + ": " + ex.Message);
|
||
ERRORINFO = "シールの印字内容を読み取り時にエラー発生";
|
||
try { DBconnect.Close(); } catch { }
|
||
return 1;
|
||
}
|
||
}
|
||
|
||
// 外部予約时覆盖
|
||
if (type == 2 || type == 3)
|
||
{
|
||
periode = kessaiYoyakuArray.contract_periode;
|
||
str_rctbl[3] = kessaiYoyakuArray.contract_periode;
|
||
}
|
||
|
||
// 必填校验
|
||
if (string.IsNullOrWhiteSpace(str_Prndat[0]) ||
|
||
string.IsNullOrWhiteSpace(str_Prndat[2]) ||
|
||
string.IsNullOrWhiteSpace(periode) ||
|
||
string.IsNullOrWhiteSpace(contractId) ||
|
||
string.IsNullOrWhiteSpace(str_rctbl[3]) ||
|
||
string.IsNullOrWhiteSpace(str_rctbl[5]) ||
|
||
string.IsNullOrWhiteSpace(str_rctbl[8]))
|
||
{
|
||
ERRORINFO = "印字データの必須項目が不足しています";
|
||
try { DBconnect.Close(); } catch { }
|
||
return 1;
|
||
}
|
||
|
||
// 派生字段与子串保护
|
||
Cperiods(periode, ref str_Prndat[3]);
|
||
Cperiode(periode, ref str_Prndat[4]);
|
||
|
||
str_Prndat[6] = contractId;
|
||
str_rctbl[0] = contractId;
|
||
str_rctbl[2] = (!string.IsNullOrEmpty(periode) && periode.Length >= 10) ? periode.Substring(0, 10) : "";
|
||
str_rctbl[3] = (!string.IsNullOrEmpty(str_rctbl[3]) && str_rctbl[3].Length >= 10) ? str_rctbl[3].Substring(0, 10) : "";
|
||
|
||
// 取公园名(park_id 解析保护)
|
||
if (int.TryParse(str_rctbl[9], out var parkId) && parkId > 0)
|
||
str_Prndat[0] = SO_DBChk_park_name(parkId);
|
||
|
||
Debug.WriteLine(" ☆定期契約X park_id:" + str_rctbl[9]);
|
||
Debug.WriteLine(" ☆定期契約X park_name:" + str_Prndat[0]);
|
||
|
||
return 0;
|
||
}
|
||
|
||
|
||
private void Cperiods(string str_work, ref string work)
|
||
{
|
||
int length = str_work.Length;
|
||
work = str_work.Substring(0, 4);
|
||
}
|
||
|
||
private void Cperiode(string str_work, ref string work)
|
||
{
|
||
if (str_work[5] == '0')
|
||
{
|
||
work = str_work.Substring(6, 1);
|
||
}
|
||
else
|
||
{
|
||
work = str_work.Substring(5, 2);
|
||
}
|
||
}
|
||
|
||
private bool SO_DBInsert_pjl(int type)
|
||
{
|
||
string text = "";
|
||
switch (type)
|
||
{
|
||
case 0:
|
||
case 81:
|
||
case 82:
|
||
case 83:
|
||
text = "insert into print_job_log ( park_id, user_id, contract_id, process_name,job_name, status, error_code, status_comment, created_at) value (" + str_Confile[6] + "," + str_rctbl[8] + "," + str_rctbl[0] + ",'" + str_logkm[2] + "','" + str_logkm[3] + "','" + str_logkm[4] + "'," + str_logkm[5] + ",'" + str_logkm[6] + "','" + str_logkm[7] + "');";
|
||
break;
|
||
case 84:
|
||
case 88:
|
||
text = "insert into print_job_log ( park_id, contract_id, process_name,job_name, status, error_code, status_comment, created_at) value (" + str_Confile[6] + "," + LOC_contract_id + ",'" + str_logkm[2] + "','" + str_logkm[3] + "','" + str_logkm[4] + "'," + str_logkm[5] + ",'" + str_logkm[6] + "','" + str_logkm[7] + "');";
|
||
break;
|
||
case 21:
|
||
text = "insert into print_job_log ( park_id, user_id, process_name,job_name, status, error_code, status_comment, created_at) value (" + str_Confile[6] + "," + str_rctbl[8] + ",'" + str_logkm[2] + "','" + str_logkm[3] + "','" + str_logkm[4] + "'," + str_logkm[5] + ",'" + str_logkm[6] + "','" + str_logkm[7] + "');";
|
||
break;
|
||
default:
|
||
text = "insert into print_job_log ( park_id, process_name,job_name, status, error_code, status_comment, created_at) value (" + str_Confile[6] + ",'" + str_logkm[2] + "','" + str_logkm[3] + "','" + str_logkm[4] + "'," + str_logkm[5] + ",'" + str_logkm[6] + "','" + str_logkm[7] + "');";
|
||
break;
|
||
}
|
||
Debug.WriteLine("\u3000\u3000☆print_job_log\u3000SQL:" + text);
|
||
Debug.WriteLine("\u3000\u3000☆print_job_log\u3000TYPE:" + type);
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction = (mySqlCommand.Transaction = DBconnect.BeginTransaction());
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_18");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "プリンタ制御プログラムログテーブル追加時にエラー2発生";
|
||
return false;
|
||
}
|
||
string cmdText = "select job_log_id from print_job_log where created_at='" + str_logkm[7] + "';";
|
||
MySqlCommand mySqlCommand2 = new MySqlCommand(cmdText, DBconnect);
|
||
mySqlCommand2.CommandTimeout = 1;
|
||
try
|
||
{
|
||
MySqlTransaction mySqlTransaction3 = DBconnect.BeginTransaction();
|
||
MySqlDataReader mySqlDataReader = mySqlCommand2.ExecuteReader();
|
||
while (mySqlDataReader.Read())
|
||
{
|
||
str_logkm[0] = Convert.ToString(mySqlDataReader["job_log_id"]);
|
||
}
|
||
mySqlDataReader.Close();
|
||
mySqlTransaction3.Commit();
|
||
}
|
||
catch (Exception ex2)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_19");
|
||
Trace.WriteLine(ex2.Message);
|
||
ERRORINFO = "処理ログID読み取り時にエラー発生";
|
||
DBconnect.Close();
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
private bool SO_DBInsert_seal2(uint mode)
|
||
{
|
||
string text = "";
|
||
uint num = 1u;
|
||
string text2 = mode switch
|
||
{
|
||
1u => "QR通常印刷",
|
||
120u => "Mifareゼロ円印刷",
|
||
_ => "Mifare通常印刷",
|
||
};
|
||
if (test_mode)
|
||
{
|
||
text2 = "QRテスト印刷";
|
||
str_rctbl[0] = "0";
|
||
}
|
||
string text3 = DateTime.Now.ToString("yyyy-MM-dd");
|
||
string text4 = "1";
|
||
text = "insert into seal ( park_id, contract_id, psection_id, seal_day, created_at, updated_at, contract_seal_issue, seal_reason) value (" + str_Confile[6] + "," + str_rctbl[0] + ",'" + num + "','" + text3 + "','" + str_logkm[7] + "','" + str_logkm[7] + "','" + Convert.ToString(Convert.ToInt32(str_rctbl[7]) + 1) + "','" + text2 + "');";
|
||
MySqlCommand mySqlCommand = new MySqlCommand(text, DBconnect);
|
||
mySqlCommand.CommandTimeout = 1;
|
||
Debug.WriteLine(text, "InsertSQL ");
|
||
try
|
||
{
|
||
Debug.WriteLine(" --InsertSQL1A ");
|
||
MySqlTransaction mySqlTransaction = (mySqlCommand.Transaction = DBconnect.BeginTransaction());
|
||
mySqlCommand.ExecuteNonQuery();
|
||
mySqlTransaction.Commit();
|
||
Debug.WriteLine(" --InsertSQL1B ");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_20");
|
||
Debug.WriteLine(" --InsertSQL2 ERROR ");
|
||
Trace.WriteLine(ex.Message);
|
||
ERRORINFO = "シール発行履歴テーブル追加2時にエラー発生";
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
private bool SO_MfifareInit()
|
||
{
|
||
Trace.WriteLine("★リーダーの初期化開始★");
|
||
uint num = 0u;
|
||
if (DEBUG_MODE == "1")
|
||
{
|
||
return true;
|
||
}
|
||
try
|
||
{
|
||
Trace.WriteLine("★デバックモードじゃないので初期化開始★");
|
||
using (ISCardContext iSCardContext = ContextFactory.Instance.Establish(SCardScope.System))
|
||
{
|
||
string[] readers = iSCardContext.GetReaders();
|
||
if (readers == null || readers.Length == 0)
|
||
{
|
||
MessageBox.Show("スマートカードリーダが見つかりません", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
return false;
|
||
}
|
||
string[] array = readers;
|
||
foreach (string text in array)
|
||
{
|
||
readerName = text;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_21");
|
||
Bitmap backgroundImage = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic6.png");
|
||
form2.BackgroundImage = backgroundImage;
|
||
Application.DoEvents();
|
||
Thread.Sleep(10000);
|
||
Trace.WriteLine(ex.Message);
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/*private bool SO_QRcordInit()
|
||
{
|
||
if (DEBUG_MODE == "1")
|
||
{
|
||
return true;
|
||
}
|
||
serialPort1.Close();
|
||
Debug.WriteLine("☆☆QRコードリーダ初期化☆☆");
|
||
serialPort1.PortName = str_Confile[16];
|
||
serialPort1.DataBits = 8;
|
||
serialPort1.Parity = Parity.None;
|
||
serialPort1.StopBits = StopBits.One;
|
||
try
|
||
{
|
||
serialPort1.Open();
|
||
return true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_22");
|
||
Trace.WriteLine(ex.Message);
|
||
}
|
||
return false;
|
||
}*/
|
||
private bool SO_QRcordInit()
|
||
{
|
||
if (DEBUG_MODE == "1") return true;
|
||
|
||
try
|
||
{
|
||
if (serialPort1.IsOpen) serialPort1.Close();
|
||
|
||
Debug.WriteLine("☆☆QRコードリーダ初期化☆☆");
|
||
|
||
// === 基本参数(常见默认:9600 8N1) ===
|
||
serialPort1.PortName = str_Confile[16]; // 例: "COM3"
|
||
serialPort1.BaudRate = 9600;
|
||
serialPort1.DataBits = 8;
|
||
serialPort1.Parity = Parity.None;
|
||
serialPort1.StopBits = StopBits.One;
|
||
serialPort1.Handshake = Handshake.None;
|
||
|
||
// 一些扫码器需要拉起 DTR/RTS 才会发数据
|
||
serialPort1.DtrEnable = true;
|
||
serialPort1.RtsEnable = true;
|
||
|
||
// 与扫码器“后缀”一致(建议把枪设为 CR/LF)
|
||
serialPort1.NewLine = "\r\n";
|
||
|
||
// 读写细节
|
||
serialPort1.Encoding = Encoding.ASCII; // 或 Encoding.UTF8;不要用 UTF-32
|
||
serialPort1.DiscardNull = true;
|
||
serialPort1.ReadTimeout = 800; // 可根据需要调整
|
||
serialPort1.ReceivedBytesThreshold = 1;
|
||
|
||
// 端口存在性检查(可选)
|
||
var ports = SerialPort.GetPortNames();
|
||
if (!ports.Contains(serialPort1.PortName, StringComparer.OrdinalIgnoreCase))
|
||
{
|
||
Trace.WriteLine($"[QR] 指定端口不存在: {serialPort1.PortName}. 可用端口: {string.Join(",", ports)}");
|
||
return false;
|
||
}
|
||
|
||
serialPort1.Open();
|
||
serialPort1.DiscardInBuffer();
|
||
|
||
Trace.WriteLine($"[QR] Opened {serialPort1.PortName} @ {serialPort1.BaudRate}, 8N1, CRLF");
|
||
return true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_22 " + ex.Message);
|
||
return false;
|
||
}
|
||
}
|
||
|
||
|
||
public uint SO_MfifareCheck()
|
||
{
|
||
|
||
uint result = 0u;
|
||
uint num = 0u;
|
||
uint num2 = 0u;
|
||
uint num3 = 0u;
|
||
uint num4 = 0u;
|
||
uint num5 = 0u;
|
||
num = 1000u;
|
||
num2 = 0u;
|
||
num3 = 0u;
|
||
num4 = 64u;
|
||
string text = "";
|
||
using (ISCardContext iSCardContext = ContextFactory.Instance.Establish(SCardScope.System))
|
||
{
|
||
try
|
||
{
|
||
using ICardReader cardReader = iSCardContext.ConnectReader(readerName, SCardShareMode.Shared, SCardProtocol.Any);
|
||
CommandApdu commandApdu = new CommandApdu(IsoCase.Case2Short, cardReader.Protocol)
|
||
{
|
||
CLA = byte.MaxValue,
|
||
Instruction = InstructionCode.GetData,
|
||
P1 = 0,
|
||
P2 = 0,
|
||
Le = 0
|
||
};
|
||
using (cardReader.Transaction(SCardReaderDisposition.Leave))
|
||
{
|
||
IntPtr pci = SCardPCI.GetPci(cardReader.Protocol);
|
||
SCardPCI receivePci = new SCardPCI();
|
||
byte[] array = new byte[256];
|
||
byte[] array2 = commandApdu.ToArray();
|
||
int length = cardReader.Transmit(pci, array2, array2.Length, receivePci, array, array.Length);
|
||
ResponseApdu responseApdu = new ResponseApdu(array, length, IsoCase.Case2Short, cardReader.Protocol);
|
||
if (responseApdu.HasData)
|
||
{
|
||
StringBuilder stringBuilder = new StringBuilder(BitConverter.ToString(responseApdu.GetData()));
|
||
text = stringBuilder.Replace("-", string.Empty).ToString();
|
||
Debug.WriteLine("========================================");
|
||
Debug.WriteLine("☆☆" + text + "☆☆");
|
||
Debug.WriteLine("========================================");
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("このカードではIDを取得できません", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||
}
|
||
}
|
||
}
|
||
catch (RemovedCardException)
|
||
{
|
||
return 10u;
|
||
}
|
||
catch (PCSCException ex2)
|
||
{
|
||
MessageBox.Show(ex2.Message, "スマートカードエラー", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
}
|
||
}
|
||
date1 = DateTime.Now;
|
||
int seconds = (date1 - date2).Seconds;
|
||
uint num6 = bcmp(vinfBuff, vinfBuff2);
|
||
if (seconds < 2 && num6 == 0)
|
||
{
|
||
result = 10u;
|
||
}
|
||
vinfBuff2 = vinfBuff;
|
||
date2 = date1;
|
||
MFCODE = text;
|
||
Thread.Sleep(500);
|
||
return result;
|
||
}
|
||
|
||
|
||
|
||
|
||
public static uint bcmp(byte[] buf1, byte[] buf2)
|
||
{
|
||
for (int i = 0; i < 10; i++)
|
||
{
|
||
if (buf1[i] != buf2[i])
|
||
{
|
||
return 1u;
|
||
}
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
private uint SO_PrnOut()
|
||
{
|
||
if (DEBUG_MODE == "1")
|
||
{
|
||
string path = LogfilePath + "DEBUG_OUTPUT.txt";
|
||
string text = "";
|
||
try
|
||
{
|
||
using StreamWriter streamWriter = new StreamWriter(path, append: true, Encoding.GetEncoding("utf-8"));
|
||
text += "===<印字データ>=============================\r";
|
||
text = text + "ゾーン名、車室番号=(" + str_Prndat[9] + ")\r";
|
||
text = text + "駐車場名=(" + str_Prndat[0] + ")\r";
|
||
text = text + "定期種別=(" + str_Prndat[1] + ")\r";
|
||
text = text + "場所種別=(" + str_Prndat[2] + ")\r";
|
||
text = text + "開始日=(" + str_Prndat[3] + ")\r";
|
||
text = text + "終了月=(" + str_Prndat[4] + ")\r";
|
||
text = text + "再発行=(" + str_Prndat[5] + ")\r";
|
||
text = text + "定期番号=(" + str_Prndat[6] + ")\r";
|
||
text = text + "自治体名=(" + str_Prndat[7] + ")\r";
|
||
text = text + "利用者ID=(" + str_Prndat[8] + ")\r";
|
||
text += "発行枚数=(1)\r\r";
|
||
streamWriter.WriteLine(text);
|
||
MessageBox.Show(text, "定期シール印刷情報", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_24");
|
||
Trace.WriteLine(ex.Message);
|
||
}
|
||
Trace.WriteLine("===<印字データ>=============================");
|
||
Trace.WriteLine("ゾーン名、車室番号=(" + str_Prndat[9] + ")");
|
||
Trace.WriteLine("駐車場名=(" + str_Prndat[0] + ")");
|
||
Trace.WriteLine("定期種別=(" + str_Prndat[1] + ")");
|
||
Trace.WriteLine("場所種別=(" + str_Prndat[2] + ")");
|
||
Trace.WriteLine("開始日=(" + str_Prndat[3] + ")");
|
||
Trace.WriteLine("終了月=(" + str_Prndat[4] + ")");
|
||
Trace.WriteLine("再発行=(" + str_Prndat[5] + ")");
|
||
Trace.WriteLine("定期番号=(" + str_Prndat[6] + ")");
|
||
Trace.WriteLine("自治体名=(" + str_Prndat[7] + ")");
|
||
Trace.WriteLine("利用者ID=(" + str_Prndat[8] + ")");
|
||
Trace.WriteLine("発行枚数=(1)");
|
||
Trace.WriteLine("");
|
||
return 0u;
|
||
}
|
||
if (!SO_PrnGetStatus())
|
||
{
|
||
return 1u;
|
||
}
|
||
Debug.WriteLine("プリンタデータの取得済み");
|
||
printer.Disconnect();
|
||
if (printer.Connect(3, printerPortName) != 0)
|
||
{
|
||
Debug.WriteLine("印刷できていない");
|
||
return 0u;
|
||
}
|
||
printer.SetMeasurementUnit(1);
|
||
LabelDesign design = new LabelDesign();
|
||
DesignLabel_Pattern(design, str_Prndat);
|
||
printer.Print(design, 1);
|
||
Debug.WriteLine(" --印刷成功");
|
||
return 0u;
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
private bool SO_PrnInit_Epson()
|
||
{
|
||
if (DEBUG_MODE == "1") return true;
|
||
|
||
try
|
||
{
|
||
// 1) 目标打印机
|
||
string ipAddress = str_Confile[18]; // e.g. "192.168.0.179"
|
||
string deviceId = "local_printer"; // TM-m30III 系列默认
|
||
int timeout = 30; // 秒(与你的封装一致)
|
||
|
||
// 2) 实例化与生成“测试票据”XML(沿用 KessaiPrint 的生成方法)
|
||
var svc = new EpsonPrinterTMM30Service(ipAddress, deviceId, timeout);
|
||
|
||
// --- 测试数据(随便但合法) ---
|
||
string user_name = "TEST USER";
|
||
string kessai_no = "TEST0001";
|
||
string billing_amount = "1"; // 1円
|
||
string park_name = "TEST駐輪場";
|
||
string usertype_subject1 = "TEST-TYPE";
|
||
string enable_months = "1"; // 1ヶ月
|
||
string paymentDue = "2099/12/31";
|
||
string pay_code = "000000";
|
||
string label_title = str_Confile[31]; // 票据抬头(例:So-Manager駐輪場)
|
||
string label_tel = str_Confile[32]; // 电话
|
||
|
||
// 用 Payee2 模板生成 SOAP/ePOS XML(与 KessaiPrint 一致的方式)
|
||
string soapRequest =
|
||
svc.GenerateSoapRequestPayee4(
|
||
user_name, kessai_no, billing_amount,
|
||
park_name, usertype_subject1, enable_months,
|
||
paymentDue, pay_code, label_title, label_tel
|
||
);
|
||
|
||
// 3) 发送打印请求
|
||
string respXml = svc.PrintXml(soapRequest);
|
||
System.Diagnostics.Debug.WriteLine("statusXml------" + respXml);
|
||
|
||
if (string.IsNullOrWhiteSpace(respXml))
|
||
{
|
||
ERRORINFO = "プリンタから応答がありません。";
|
||
return false;
|
||
}
|
||
|
||
// 4) 解析回包(和 KessaiPrint 同样的解析路径/命名空间)
|
||
var doc = new System.Xml.XmlDocument();
|
||
doc.LoadXml(respXml);
|
||
var nsmgr = new System.Xml.XmlNamespaceManager(doc.NameTable);
|
||
nsmgr.AddNamespace("s", "http://schemas.xmlsoap.org/soap/envelope/");
|
||
nsmgr.AddNamespace("epos", "http://www.epson-pos.com/schemas/2011/03/epos-print");
|
||
var node = doc.SelectSingleNode("//s:Body/epos:response", nsmgr) as System.Xml.XmlElement;
|
||
|
||
if (node == null)
|
||
{
|
||
ERRORINFO = "ステータス解析失敗(responseノードなし)";
|
||
return false;
|
||
}
|
||
|
||
string success = node.GetAttribute("success"); // "true"/"false"
|
||
string status = node.GetAttribute("status"); // "0" 正常
|
||
string code = node.GetAttribute("code"); // エラーコード
|
||
|
||
// 5) 依据 success 分支处理(与 KessaiPrint 一致)
|
||
if (!string.Equals(success, "true", StringComparison.OrdinalIgnoreCase))
|
||
{
|
||
string errText = svc.PrinterErrorHandling(status, "34", DBconnect);
|
||
if (!string.IsNullOrEmpty(errText))
|
||
{
|
||
// 这里不重启应用;把错误信息挂出去即可
|
||
ERRORINFO = "プリンタ異常: " + errText + $" (code={code})";
|
||
return false;
|
||
}
|
||
// 没有明确错误映射,则视作可继续
|
||
return true;
|
||
}
|
||
|
||
// 成功:做纸量等检查
|
||
svc.PrinterPapperCheck(status, "34", DBconnect);
|
||
return true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ERRORINFO = "プリンタ初期化エラー: " + ex.Message;
|
||
return false;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
private uint SO_PrnOut_EpsonNetwork()
|
||
{
|
||
try
|
||
{
|
||
// ラベルデザイン作成
|
||
LabelDesign design = new LabelDesign();
|
||
DesignLabel_Pattern(design, str_Prndat);
|
||
|
||
// 印刷用XML生成
|
||
string xmlPrint = epsonPrinter.GenerateSoapRequestPayee1(
|
||
str_Prndat[8], // 利用者ID
|
||
str_Prndat[6], // 定期番号
|
||
"1000", // 金額(必要に応じて変更)
|
||
str_Prndat[0], // 駐車場名
|
||
str_Prndat[1], // 定期種別
|
||
"1", // 枚数
|
||
str_Prndat[3], // 開始日
|
||
str_Prndat[6], // 定期番号
|
||
"ウェルネット", // 支払先
|
||
"03-1234-5678" // 電話番号
|
||
);
|
||
|
||
// 印刷実行
|
||
string response = epsonPrinter.PrintXml(xmlPrint);
|
||
if (string.IsNullOrEmpty(response))
|
||
{
|
||
Debug.WriteLine("印刷に失敗しました");
|
||
return 1u;
|
||
}
|
||
|
||
Debug.WriteLine("ネットワーク印刷成功");
|
||
return 0u;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("ネットワーク印刷エラー: " + ex.Message);
|
||
return 99u;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
// 最終送印
|
||
|
||
|
||
private bool SO_PrnInit()
|
||
{
|
||
if (DEBUG_MODE == "1")
|
||
{
|
||
return true;
|
||
}
|
||
try
|
||
{
|
||
int num = 0;
|
||
short num2 = 0;
|
||
for (num2 = 1; num2 <= 9; num2++)
|
||
{
|
||
printerPortName = "USB00" + Convert.ToString(num2);
|
||
Debug.WriteLine(printerPortName + "が接続されているか確認しています。");
|
||
printer.Disconnect();
|
||
num = printer.Connect(3, printerPortName);
|
||
Debug.WriteLine("返り値:" + Convert.ToString(num));
|
||
if (num == 0)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
if (num != 0)
|
||
{
|
||
return SO_PrnGetStatus();
|
||
}
|
||
Debug.WriteLine("コネクト確認までクリア");
|
||
return SO_PrnGetStatus();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_25");
|
||
MessageBox.Show("プリンタの初期化に失敗しました。PCを起動後にプリンタの電源を入れてください。", "プリンタ初期化エラー", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
Trace.WriteLine(ex.Message);
|
||
return false;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
private bool SO_PrnGetStatus()
|
||
{
|
||
string text = "";
|
||
int num = printer.PrinterCheck();
|
||
if (num == 0)
|
||
{
|
||
int commandInterpreterInAction = printer.GetCommandInterpreterInAction();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetCommandInterpreterInAction\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(コマンド処理中)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetPaperError();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetPaperError\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(ペーパーエラー)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetRibbonEnd();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetRibbonEnd\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(プリンターのリボンエンド状態)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetBatchProcessing();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetBatchProcessing\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(バッチ処理印字中)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetPrinting();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetPrinting\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(印字中)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetPause();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetPause\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(ポーズ中)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetWaitingForPeeling();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetWaitingForPeeling\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(剥離待ち中)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetPrintHeadLowTemp();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetPrintHeadLowTemp\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(プリントヘッド低温エラー)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetPrintHeadFailure();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetPrintHeadFailure\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(プリントヘッド切れエラー)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetPrintHeadOverheat();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetPrintHeadOverheat\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(プリントヘッドオーバーヒートエラー)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetMechanismOpen();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetMechanismOpen\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(プリントヘッドオープンエラー)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetAutoCutterError();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetAutoCutterError\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(オートカッター異常)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetFanMotorError();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetFanMotorError\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(ファンモーターエラー)";
|
||
return false;
|
||
}
|
||
commandInterpreterInAction = printer.GetMiscError();
|
||
if (commandInterpreterInAction == 1)
|
||
{
|
||
ERRORINFO = "GetMiscError\u3000戻り値=" + commandInterpreterInAction + " プリンタステータス(その他のエラー)";
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
ERRORINFO = "PrinterCheck Error\u3000戻り値=" + num + " プリンタステータス =(PrinterCheck Error)";
|
||
return false;
|
||
}
|
||
|
||
private uint SO_PrnLabeEdit(uint type)
|
||
{
|
||
int num = 0;
|
||
str_Prndat = new string[13];
|
||
PrnDataField = new Dictionary<string, string>();
|
||
PrnDataField.Add("駐車場名", "");
|
||
PrnDataField.Add("定期種別", "");
|
||
PrnDataField.Add("場所種別", "");
|
||
PrnDataField.Add("開始日", "");
|
||
PrnDataField.Add("終了月", "");
|
||
PrnDataField.Add("再発行", "");
|
||
PrnDataField.Add("定期番号", "");
|
||
PrnDataField.Add("自治体名", "");
|
||
PrnDataField.Add("利用者ID", "");
|
||
PrnDataField.Add("ゾーン、車室名", "");
|
||
PrnDataField.Add("発行枚数", "");
|
||
PrnDataField.Add("タグ", "");
|
||
if (test_mode)
|
||
{
|
||
PrnDataField["駐車場名"] = Convert.ToString(DateTime.Now);
|
||
PrnDataField["定期種別"] = "";
|
||
PrnDataField["場所種別"] = "";
|
||
PrnDataField["開始日"] = "**";
|
||
PrnDataField["終了月"] = "X";
|
||
PrnDataField["再発行"] = "";
|
||
PrnDataField["定期番号"] = "by Sorin";
|
||
if (NetworkInterface.GetIsNetworkAvailable())
|
||
{
|
||
PrnDataField["自治体名"] = "動作確認OK";
|
||
}
|
||
else
|
||
{
|
||
PrnDataField["自治体名"] = "プリンタOK、N/W NG";
|
||
}
|
||
PrnDataField["利用者ID"] = "So-Manager";
|
||
PrnDataField["ゾーン、車室名"] = "テスト印刷";
|
||
PrnDataField["発行枚数"] = "1";
|
||
PrnDataField["ゾーン"] = "";
|
||
PrnDataField["利用者連番"] = "So-Manager";
|
||
return 0u;
|
||
}
|
||
if (SO_DBPrndat_01(type) != 0)
|
||
{
|
||
return 1u;
|
||
}
|
||
PrnDataField["駐車場名"] = str_Prndat[0];
|
||
PrnDataField["定期種別"] = str_Prndat[1];
|
||
PrnDataField["場所種別"] = str_Prndat[2];
|
||
PrnDataField["開始日"] = str_Prndat[3];
|
||
PrnDataField["終了月"] = str_Prndat[4];
|
||
PrnDataField["再発行"] = str_Prndat[5];
|
||
PrnDataField["定期番号"] = str_Prndat[6];
|
||
PrnDataField["自治体名"] = str_Prndat[7];
|
||
PrnDataField["利用者ID"] = str_Prndat[8];
|
||
PrnDataField["ゾーン、車室名"] = str_Prndat[9];
|
||
PrnDataField["タグ"] = str_Prndat[10];
|
||
PrnDataField["ゾーン"] = str_Prndat[11];
|
||
PrnDataField["利用者連番"] = str_Prndat[12];
|
||
PrnDataField["発行枚数"] = "1";
|
||
return 0u;
|
||
}
|
||
|
||
/*private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||
{
|
||
Debug.WriteLine("データ受信");
|
||
if (!serialPort1.IsOpen)
|
||
{
|
||
QRresult = 2u;
|
||
return;
|
||
}
|
||
try
|
||
{
|
||
date1 = DateTime.Now;
|
||
QRdata = serialPort1.ReadExisting();
|
||
QRdata = QRdata.Substring(0, QRdata.Length - 1);
|
||
Encoding encoding = Encoding.GetEncoding("utf-32");
|
||
QRresult = 1u;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_26");
|
||
QRdata = ex.Message;
|
||
QRresult = 2u;
|
||
}
|
||
date1 = DateTime.Now;
|
||
int seconds = (date1 - date2).Seconds;
|
||
bool flag = QRdata.SequenceEqual(QRdata2);
|
||
if (seconds < 2 && flag)
|
||
{
|
||
QRresult = 10u;
|
||
}
|
||
Trace.WriteLine(QRdata);
|
||
QRdata2 = QRdata;
|
||
date2 = date1;
|
||
}*/
|
||
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||
{
|
||
Debug.WriteLine("データ受信");
|
||
|
||
if (!serialPort1.IsOpen)
|
||
{
|
||
QRresult = 2u; // ポート未オープン
|
||
return;
|
||
}
|
||
|
||
try
|
||
{
|
||
while (serialPort1.IsOpen && serialPort1.BytesToRead > 0)
|
||
{
|
||
// 1) 按行读取(直到 NewLine,建议设为 "\r\n")
|
||
string line = serialPort1.ReadLine();
|
||
|
||
// 2) 清理控制字符 + 前后空白
|
||
string cleaned = CleanCtrl(line); // ↓见下方辅助函数
|
||
|
||
// 空行就跳过
|
||
if (string.IsNullOrEmpty(cleaned))
|
||
continue;
|
||
|
||
// 3) 重复判定(2秒内同一内容)
|
||
date1 = DateTime.Now;
|
||
bool isDup = (date1 - date2).TotalSeconds < 2 &&
|
||
string.Equals(cleaned, QRdata2, StringComparison.Ordinal);
|
||
|
||
if (isDup)
|
||
{
|
||
QRresult = 10u; // 重复
|
||
}
|
||
else
|
||
{
|
||
QRdata = cleaned;
|
||
QRresult = 1u; // 正常
|
||
QRdata2 = cleaned;
|
||
date2 = date1;
|
||
Trace.WriteLine(cleaned);
|
||
}
|
||
}
|
||
}
|
||
catch (TimeoutException)
|
||
{
|
||
// 读超时可忽略
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Debug.WriteLine("★★_ERROR_26 " + ex.Message);
|
||
QRdata = ex.Message;
|
||
QRresult = 2u; // エラー
|
||
}
|
||
}
|
||
|
||
// 去掉所有控制字符(0x00–0x1F和0x7F)、再Trim
|
||
private static string CleanCtrl(string s)
|
||
{
|
||
if (string.IsNullOrEmpty(s)) return string.Empty;
|
||
var filtered = new string(s.Where(ch => ch >= ' ' && ch != '\x7F').ToArray());
|
||
return filtered.Trim();
|
||
}
|
||
|
||
private uint CreateObject_Ex_TEST()
|
||
{
|
||
mif = Activator.CreateInstance(Type.GetTypeFromProgID("Mifare.API"));
|
||
if (mif == null)
|
||
{
|
||
return 1u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
private uint CreateObject_Ex()
|
||
{
|
||
if (ifd != null || icc != null || mif != null)
|
||
{
|
||
}
|
||
ifd = Activator.CreateInstance(Type.GetTypeFromProgID("IFD.RW"));
|
||
if (ifd == null)
|
||
{
|
||
return 1u;
|
||
}
|
||
icc = Activator.CreateInstance(Type.GetTypeFromProgID("ICC.Card"));
|
||
if (icc == null)
|
||
{
|
||
return 1u;
|
||
}
|
||
mif = Activator.CreateInstance(Type.GetTypeFromProgID("Mifare.API"));
|
||
if (mif == null)
|
||
{
|
||
return 1u;
|
||
}
|
||
return 0u;
|
||
}
|
||
|
||
private uint ObjectSetUp_Ex()
|
||
{
|
||
uint num = 0u;
|
||
string text = "";
|
||
short num2 = 0;
|
||
for (num2 = 1; num2 <= 9; num2++)
|
||
{
|
||
text = "COM" + Convert.ToString(num2);
|
||
Debug.WriteLine(text + "が接続されているか確認しています。");
|
||
num = (uint)ifd.SetUp("PR", ref text);
|
||
if (num == 0)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
if (num != 0)
|
||
{
|
||
return 1u;
|
||
}
|
||
if ((uint)icc.SetUp("AM:MIF", ref ifd) != 0)
|
||
{
|
||
return 1u;
|
||
}
|
||
num = (uint)mif.SetUp(ref icc);
|
||
if (num != 0)
|
||
{
|
||
return 1u;
|
||
}
|
||
return num;
|
||
}
|
||
|
||
private void ReleaseAid_Ex()
|
||
{
|
||
if (mif != null)
|
||
{
|
||
Marshal.ReleaseComObject(mif);
|
||
mif = null;
|
||
}
|
||
if (icc != null)
|
||
{
|
||
Marshal.ReleaseComObject(icc);
|
||
icc = null;
|
||
}
|
||
if (ifd != null)
|
||
{
|
||
Marshal.ReleaseComObject(ifd);
|
||
ifd = null;
|
||
}
|
||
GC.Collect();
|
||
}
|
||
|
||
private uint RW_Authentication_Ex()
|
||
{
|
||
uint num = 0u;
|
||
byte[] array = new byte[257];
|
||
uint num2 = 0u;
|
||
uint num3 = 0u;
|
||
byte[] array2 = new byte[28]
|
||
{
|
||
3, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
255, 255, 255, 255, 255, 0, 0, 0
|
||
};
|
||
uint num4 = 67665936u;
|
||
num2 = 256u;
|
||
num = (uint)ifd.SetControl(num4, ref array2, out array, num2, out num3);
|
||
if (num != 0)
|
||
{
|
||
return num;
|
||
}
|
||
Array.Clear(array2, 0, array2.Length);
|
||
num3 = 0u;
|
||
num4 = 67665923u;
|
||
array2[0] = 0;
|
||
return (uint)ifd.SetControl(ref num4, ref array2, ref array, ref num2, ref num3);
|
||
}
|
||
|
||
private uint ReleaseCard_Ex()
|
||
{
|
||
int num = 0;
|
||
return (uint)icc.EndTransaction(ref num);
|
||
}
|
||
|
||
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
|
||
{
|
||
Application.DoEvents();
|
||
}
|
||
|
||
private void EndProc()
|
||
{
|
||
if (EndType == 0)
|
||
{
|
||
return;
|
||
}
|
||
DBconnect.Close();
|
||
if (EndType < 3)
|
||
{
|
||
return;
|
||
}
|
||
if (DEBUG_MODE == "0")
|
||
{
|
||
printer.Disconnect();
|
||
if (EndType == 3 || EndType == 4)
|
||
{
|
||
return;
|
||
}
|
||
serialPort1.Close();
|
||
}
|
||
if (EndType != 10 && EndType > 5)
|
||
{
|
||
EndWait();
|
||
}
|
||
}
|
||
|
||
private void EndWait()
|
||
{
|
||
SO_FullScreen(MSG_NUM + 1, 1);
|
||
for (int i = 0; i < 60; i++)
|
||
{
|
||
if (EndType == 10)
|
||
{
|
||
Environment.Exit(0);
|
||
return;
|
||
}
|
||
Application.DoEvents();
|
||
Thread.Sleep(1000);
|
||
}
|
||
SO_FullScreen(MSG_NUM, 1);
|
||
}
|
||
|
||
private void DesignLabel_Pattern(LabelDesign design, string[] str_Prndat)
|
||
{
|
||
Controller controller = new Controller();
|
||
if (controller.Open(str_layoutFile) == 0)
|
||
{
|
||
controller.BeginPrint();
|
||
int frameIndex = controller.InitFrame("Frame1");
|
||
int parts = controller.GetParts(frameIndex, "発行枚数");
|
||
controller.SetPartsData(frameIndex, parts, PrnDataField["発行枚数"]);
|
||
int parts2 = controller.GetParts(frameIndex, "駐車場名");
|
||
controller.SetPartsData(frameIndex, parts2, PrnDataField["駐車場名"]);
|
||
int parts3 = controller.GetParts(frameIndex, "場所種別");
|
||
controller.SetPartsData(frameIndex, parts3, PrnDataField["場所種別"]);
|
||
int parts4 = controller.GetParts(frameIndex, "開始日");
|
||
controller.SetPartsData(frameIndex, parts4, PrnDataField["開始日"]);
|
||
int parts5 = controller.GetParts(frameIndex, "終了月");
|
||
controller.SetPartsData(frameIndex, parts5, PrnDataField["終了月"]);
|
||
int parts6 = controller.GetParts(frameIndex, "定期番号");
|
||
controller.SetPartsData(frameIndex, parts6, PrnDataField["定期番号"]);
|
||
int parts7 = controller.GetParts(frameIndex, "自治体名");
|
||
controller.SetPartsData(frameIndex, parts7, PrnDataField["自治体名"]);
|
||
int parts8 = controller.GetParts(frameIndex, "再発行");
|
||
controller.SetPartsData(frameIndex, parts8, PrnDataField["再発行"]);
|
||
int parts9 = controller.GetParts(frameIndex, "定期種別");
|
||
controller.SetPartsData(frameIndex, parts9, PrnDataField["定期種別"]);
|
||
int parts10 = controller.GetParts(frameIndex, "利用者ID");
|
||
controller.SetPartsData(frameIndex, parts10, PrnDataField["利用者ID"]);
|
||
int parts11 = controller.GetParts(frameIndex, "ゾーン、車室名");
|
||
controller.SetPartsData(frameIndex, parts11, PrnDataField["ゾーン、車室名"]);
|
||
int parts12 = controller.GetParts(frameIndex, "タグ");
|
||
controller.SetPartsData(frameIndex, parts12, PrnDataField["タグ"]);
|
||
int parts13 = controller.GetParts(frameIndex, "ゾーン");
|
||
controller.SetPartsData(frameIndex, parts13, PrnDataField["ゾーン"]);
|
||
int parts14 = controller.GetParts(frameIndex, "有効期限年");
|
||
controller.SetPartsData(frameIndex, parts14, "有効期限" + PrnDataField["開始日"] + "年");
|
||
int parts15 = controller.GetParts(frameIndex, "利用者連番");
|
||
controller.SetPartsData(frameIndex, parts15, PrnDataField["利用者連番"]);
|
||
controller.AddFrame(frameIndex);
|
||
controller.DoPrint("Citizen CL-E331J");
|
||
controller.EndPrint();
|
||
controller.Close();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("レイアウトファイルがありません。以下のファイルの存在を確認してください: " + Environment.NewLine + str_layoutFile, "レイアウトファイルエラー", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||
}
|
||
}
|
||
|
||
private void SetHomeButton()
|
||
{
|
||
Control control = base.Controls.Find("homeButton", searchAllChildren: true).FirstOrDefault();
|
||
if (control != null)
|
||
{
|
||
base.Controls.Remove(control);
|
||
control.Dispose();
|
||
}
|
||
PictureBox pictureBox = new PictureBox();
|
||
pictureBox.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\homeButton.png");
|
||
pictureBox.BackColor = Color.Transparent;
|
||
pictureBox.ForeColor = Color.Transparent;
|
||
pictureBox.Size = new Size(125, 125);
|
||
int num = Screen.PrimaryScreen.WorkingArea.Height;
|
||
pictureBox.Location = new Point(1275 - pictureBox.Width, 795 - pictureBox.Height);
|
||
pictureBox.Click += HomeButton_Click;
|
||
pictureBox.Name = "homeButton";
|
||
form2.Controls.Add(pictureBox);
|
||
pictureBox.BringToFront();
|
||
}
|
||
|
||
private void RemoveHomeButton()
|
||
{
|
||
for (int num = form2.Controls.Count - 1; num >= 0; num--)
|
||
{
|
||
Control control = form2.Controls[num];
|
||
if (control.Name == "homeButton")
|
||
{
|
||
form2.Controls.Remove(control);
|
||
control.Dispose();
|
||
}
|
||
}
|
||
}
|
||
|
||
private void HomeButton_Click(object sender, EventArgs e)
|
||
{
|
||
for (int num = form2.Controls.Count - 1; num >= 0; num--)
|
||
{
|
||
Control control = form2.Controls[num];
|
||
if (control is Button || control is Label || control is PictureBox)
|
||
{
|
||
form2.Controls.Remove(control);
|
||
control.Dispose();
|
||
}
|
||
}
|
||
KessaiEnd();
|
||
}
|
||
|
||
protected override void Dispose(bool disposing)
|
||
{
|
||
if (disposing && components != null)
|
||
{
|
||
components.Dispose();
|
||
}
|
||
base.Dispose(disposing);
|
||
}
|
||
|
||
private void InitializeComponent()
|
||
{
|
||
this.components = new System.ComponentModel.Container();
|
||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle = new System.Windows.Forms.DataGridViewCellStyle();
|
||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(qk30ic.Form1));
|
||
this.button1 = new System.Windows.Forms.Button();
|
||
this.serialPort1 = new System.IO.Ports.SerialPort(this.components);
|
||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||
this.label2 = new System.Windows.Forms.Label();
|
||
this.label1 = new System.Windows.Forms.Label();
|
||
((System.ComponentModel.ISupportInitialize)this.dataGridView1).BeginInit();
|
||
base.SuspendLayout();
|
||
this.button1.Location = new System.Drawing.Point(538, 380);
|
||
this.button1.Name = "button1";
|
||
this.button1.Size = new System.Drawing.Size(134, 29);
|
||
this.button1.TabIndex = 0;
|
||
this.button1.Text = "終了";
|
||
this.button1.UseVisualStyleBackColor = true;
|
||
this.button1.Click += new System.EventHandler(button1_Click);
|
||
this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPort1_DataReceived);
|
||
this.dataGridView1.AllowUserToAddRows = false;
|
||
dataGridViewCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||
dataGridViewCellStyle.BackColor = System.Drawing.SystemColors.Control;
|
||
dataGridViewCellStyle.Font = new System.Drawing.Font("MS UI Gothic", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 128);
|
||
dataGridViewCellStyle.ForeColor = System.Drawing.SystemColors.WindowText;
|
||
dataGridViewCellStyle.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||
dataGridViewCellStyle.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||
dataGridViewCellStyle.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle;
|
||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||
this.dataGridView1.Location = new System.Drawing.Point(24, 36);
|
||
this.dataGridView1.Name = "dataGridView1";
|
||
this.dataGridView1.RowHeadersVisible = false;
|
||
this.dataGridView1.RowHeadersWidth = 60;
|
||
this.dataGridView1.RowTemplate.Height = 21;
|
||
this.dataGridView1.ScrollBars = System.Windows.Forms.ScrollBars.None;
|
||
this.dataGridView1.Size = new System.Drawing.Size(1161, 330);
|
||
this.dataGridView1.TabIndex = 1;
|
||
this.label2.AutoSize = true;
|
||
this.label2.Font = new System.Drawing.Font("MS UI Gothic", 12f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 128);
|
||
this.label2.Location = new System.Drawing.Point(20, 9);
|
||
this.label2.Name = "label2";
|
||
this.label2.Size = new System.Drawing.Size(126, 16);
|
||
this.label2.TabIndex = 2;
|
||
this.label2.Text = "ローカルステータス";
|
||
this.label1.AutoSize = true;
|
||
this.label1.Location = new System.Drawing.Point(554, 9);
|
||
this.label1.Name = "label1";
|
||
this.label1.Size = new System.Drawing.Size(200, 12);
|
||
this.label1.TabIndex = 3;
|
||
this.label1.Text = " ";
|
||
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f);
|
||
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||
base.ClientSize = new System.Drawing.Size(1210, 421);
|
||
base.Controls.Add(this.label1);
|
||
base.Controls.Add(this.label2);
|
||
base.Controls.Add(this.dataGridView1);
|
||
base.Controls.Add(this.button1);
|
||
base.Icon = (System.Drawing.Icon)resources.GetObject("$this.Icon");
|
||
base.Name = "Form1";
|
||
this.Text = "シール発行プログラム";
|
||
base.TopMost = true;
|
||
base.WindowState = System.Windows.Forms.FormWindowState.Minimized;
|
||
base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form1_FormClosing);
|
||
base.Shown += new System.EventHandler(Form1_Shown);
|
||
((System.ComponentModel.ISupportInitialize)this.dataGridView1).EndInit();
|
||
base.ResumeLayout(false);
|
||
base.PerformLayout();
|
||
}
|
||
}
|