using System;
using CoreSavingLibrary;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Sybase.DataWindow;
using DataLibrary;
using CoreSavingLibrary.WcfNKeeping;
using System.Web.Services.Protocols;
using System.Globalization;
using System.Threading.Tasks;
using System.IO;
using System.Threading;
using System.ServiceModel.Description;
using System.ServiceModel;
namespace Saving.Applications.keeping
{
public partial class w_sheet_kp_slcls_year_shrlon : PageWebSheet, WebSheet
{
//ประกาศตัวแปร
#region Variable
private n_keepingClient KeepingService;
protected String postNewClear;
protected String postRefresh;
protected String postProcClsYear;
//mikekong new process
public string outputProcess;
protected String Call_process;
public String logsFilePath = "";
Sta taSrc = null;
Sta taSrcQuery = null;
String results = "", results_sql = "";
String coopid = "", msg = "";
String sql = "", sql_where = "";
#endregion
//============================================
#region Websheet Members
public void InitJsPostBack()
{
//=========================================
postNewClear = WebUtil.JsPostBack(this, "postNewClear");
postRefresh = WebUtil.JsPostBack(this, "postRefresh");
postProcClsYear = WebUtil.JsPostBack(this, "postProcClsYear");
}
public void WebSheetLoadBegin()
{
Hd_process.Value = "false";
if (!IsPostBack)
{
JspostNewClear();
}
else
{
this.RestoreContextDw(Dw_option);
this.RestoreContextDw(Dw_list);
}
}
public void CheckJsPostBack(string eventArg)
{
// Event ที่เกิดจาก JavaScript
switch (eventArg)
{
case "postNewClear":
JspostNewClear();
break;
case "postRefresh":
//Refresh();
break;
case "postProcClsYear":
JspostProcClsYear();
break;
}
}
public void SaveWebSheet()
{
}
public void WebSheetLoadEnd()
{
Dw_option.SaveDataCache();
Dw_list.SaveDataCache();
}
#endregion
//=============================================
public void runProgress(WebState state, String obj, String xml1, String xml2, String xml3)
{
outputProcess = WebUtil.runProcessingCappExtend(state, obj, xml1, xml2, xml3);
}
private XmlConfigService xml;
//ส่วนเรียก Processing หลัก
public void runObjectProcessing(String outputProcess, XmlConfigService xmlConfig, String object_name, String criteria_xml, String criteria_xml_1, String criteria_xml_2)
{
this.xml = xmlConfig;
initProcessing(outputProcess, object_name, criteria_xml, criteria_xml_1, criteria_xml_2);
if (object_name == "runPostProcess")
{
WriteLine("runPostProcess");
runPostProcess();
}
closeProcessing("Main");
}
//function การหาปีปันผล จากตารางปีบัญชี
private void JspostSetYear()
{
try
{
taSrc = new Sta(state.SsConnectionString);
taSrcQuery = new Sta(state.SsConnectionString);
taSrc.Transection();
int li_year = 0;
String sql = @"select min(account_year) from accaccountyear where close_account_stat = 0";
Sdt dt = taSrcQuery.Query(sql);
if (dt.Next())
{
li_year = int.Parse(dt.GetString("min(account_year)")) + 543;
years.Text = li_year.ToString();
//Dw_option.SetItemDecimal(1, "clsyr_year", Convert.ToDecimal(li_year));
}
else
{
sqlca.Rollback();
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex.Message);
}
}
// function เคลียร์หน้าจอ
private void JspostNewClear()
{
Dw_option.Reset();
Dw_option.InsertRow(0);
Dw_option.SetItemString(1, "application", state.SsApplication);
Dw_option.SetItemDateTime(1, "operate_date", state.SsWorkDate);
Dw_option.SetItemDateTime(1, "entry_date", state.SsWorkDate);
Dw_option.SetItemString(1, "coop_id", state.SsCoopId);
Dw_option.SetItemString(1, "entryby_coopid", state.SsCoopId);
Dw_option.SetItemString(1, "entry_id", state.SsUsername);
JspostSetYear();
// JspostInitLoan();
}
// function ประมาณผลปันผลเฉลี่ยคืน
private void JspostProcClsYear()
{
try
{
this.connectionString = state.SsConnectionString;
String slip_date = state.SsWorkDate.ToShortDateString(); // รับค่าจากหน้าจอ
String coop_id = state.SsCoopId;
String log_file = "trans_log_" + coop_id.Replace(",", "-") + "_" + slip_date.Replace("/", "-") + ".log";
String xml = "" +
"" + coop_id + "" +
"" + slip_date + "" +
"1" +
"1" +
"" + log_file + ""; //post_flag 0:View , 1:run Import
outputProcess = WebUtil.runProcessingCappExtend(state, "runPostProcess", xml, "", "");
//Task.Factory.StartNew(() => this.runProgress(state,"runPostProcess", xml, "", ""));
logsFilePath = Environment.GetEnvironmentVariable("windir") + "\\Temp\\" + log_file;
HdLogFile.Value = logsFilePath;
Task.Factory.StartNew(() => this.runObjectProcessing(outputProcess, this.xmlconfig, "runPostProcess", xml, "", ""));
//this.runObjectProcessing(outputProcess, "runPostProcess", xml, "", "");
File.WriteAllText(logsFilePath, "<<ประมวลเสร็จกดดูรายละเอียดที่ Log>>");
// Hd_process.Value = "true";
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex.ToString());
}
}
public void runPostProcess()
{
int allStep = 1;//กำหนด Step ทั้งหมด
//ดึงค่าจาก XML criteria_xml = FIELD payrate_code
string[] coop_id = getXMLStringValue(criteria_xml, "coop_id").Split(',');
string slip_date = getXMLStringValue(criteria_xml, "slip_date");
string log_file = getXMLStringValue(criteria_xml, "log_file");
bool logssql_flag = getXMLStringValue(criteria_xml, "logssql_flag") == "1";
bool post_flag = getXMLStringValue(criteria_xml, "post_flag") == "1";
DateTime process_date = DateTime.Now;
DateTime slip_date_dt = DateTime.ParseExact(slip_date, "MM/dd/yyyy", new CultureInfo("en-US"));
String slip_date_str = slip_date_dt.ToString("yyyy/MM/dd");
String slip_yymm = (Convert.ToInt32(slip_date_dt.ToString("yyyy")) + 543 - 2500) + slip_date_dt.ToString("MM") + "0"; //yyMM in Thai
String slip_yymm_new = "S" + (Convert.ToInt32(slip_date_dt.ToString("yyyy")) + 543 - 2500) + slip_date_dt.ToString("MM") + ""; //yyMM in Thai
// String results = "", results_sql = "";
startProcessMsgLog("กำลังดำเนินการเริ่มประมวลผล ดึงข้อมูล " + slip_date + ":" + coop_id.ToString(), allStep);
//Thread.Sleep(5000);
//เขียนงานที่ต้องทำ ตรงนี้
bool status = false;
String msg_err = "";
String system_code = "SHR", source_code = "WFS";
logResultTextFile(logsFilePath, ref results, ref results_sql, true, post_flag, true);
try
{
taSrc = new Sta(state.SsConnectionString);
taSrcQuery = new Sta(state.SsConnectionString);
taSrc.Transection();
// Response.Cookies["test"].Value = state.SsConnectionString;
results += (post_flag ? "ประมวลข้อมูล" : "ตรวจสอบประมวลข้อมูล") + " \r\n";
msg = "STEP:" + 1 + ":เตรียมประมวลข้อมูล ";
updateProcessMsgLog(msg, 1);
sql = "";//ดึงค่าคงที่ มาเพื่อทำการ Loop ประมวลตั้งยอด
results += msg + " \r\n";
results_sql += sql + " ;\r\n";
logResultTextFile(logsFilePath, ref results, ref results_sql, true, post_flag, false);
//1.ประมวลดึงรายการตาม Table ตั้งยอดรายเดือนของสมาชิกแต่ละคนมายิงสร้าง SLTRANSPAYIN ไว้
// ทำยอดหุ้นยกมาต้นปี
decimal year = Convert.ToDecimal(years.Text);
DateTime ldtm_operate = state.SsWorkDate; //set วันที่ยกมาต้นปี
string sql2 = "select (accend_date +1) as accend_date from cmaccountyear where account_year = {0} and coop_id={1}";
sql2 = WebUtil.SQLFormat(sql2, year, state.SsCoopId);
Sdt dtIns = taSrcQuery.Query(sql2);
if (dtIns.Next())
{
ldtm_operate = dtIns.GetDate("accend_date");
}
of_clsyear_genbfshr(ldtm_operate);
//// ทำยอดหนี้ยกมาต้นปี
of_clsyear_genbfloan(ldtm_operate);
// Reset ยอด ด/บ สะสม
of_clsyear_genbfintacc();
// Reset เลขที่เอกสาร
of_clsyear_gennewdoc();
// Update สถานะการปิดสิ้นปี
of_clsyear_updatestatus();
status = true;
// LtServerMessage.Text = WebUtil.CompleteMessage("ตั้งดอกเบี้ยค้าง สำเร็จ");
}
catch (Exception e)
{
WriteLine(e.Message);
//กรณีทำรายการ และ Error
msg_err = e.Message;
status = false;
}
finally
{
try
{
taSrc.Close();
taSrcQuery.Close();
wcf.Close();
}
catch { }
}
//Thread.Sleep(3000);
//กรณีทำรายการเสร็จสมบรูณ์
if (status)
{
finishProcessMsgLog("ทำรายการสำเร็จ", allStep);
}
else
{
cancelProcessMsgLog("ทำรายการไม่สำเร็จ" + msg_err + " ");
}
}
private void of_clsyear_updatestatus()
{
string ls_appl, ls_desc, ls_applgrp="", ls_branch, ls_entryid;
DateTime ldtm_today;
decimal li_nextyear;
ls_appl = state.SsApplication;
ls_branch = state.SsCoopControl;
ls_entryid = state.SsUsername;
ldtm_today = state.SsWorkDate;
li_nextyear = Convert.ToDecimal(years.Text) + 1;
taSrc = new Sta(state.SsConnectionString);
taSrcQuery = new Sta(state.SsConnectionString);
taSrc.Transection();
taSrcQuery.Query(@"update mbmembmaster
set dividend_flag = 0, average_flag = 0
where resign_status = 0 and member_no in ( select member_no from shsharemaster where sharestk_amt <= 0 ) ");
//if sqlca.sqlcode =FAILURE then
// messagebox( "ปิดงานสิ้นปี", "update สถานะการรับเงินปันผล" )
// dw_data.setitem( 1, "updcls_status", -9 )
// return -1
//end if
Sdt ap = taSrcQuery.Query(@"select description, applgroup_code from amappstatus where ( application = '" + ls_appl + "' ) and ( coop_id = '" + ls_branch + "' )");
if(ap.Next()){
ls_desc = ap.GetString("description");
ls_applgrp= ap.GetString("applgroup_code");
}
//if isnull( ls_applgrp ) or trim( ls_applgrp ) = "" then
// messagebox( "ปิดงานสิ้นปี", "ไม่พบข้อมูลกลุ่มระบบงาน ( applgroup_code ) ของระบบ '"+trim( ls_desc )+"' กรุณาติดต่อผู้ดูแลระบบ" )
// dw_data.setitem( 1, "updcls_status", -9 )
// return -1
//end if
String amappstatus = @"
update amappstatus
set closeyear_status = 1,
closeyear_id = {0},
closeyear_date = {1},
current_accyear = {2}
where ( applgroup_code = {3} )";
amappstatus = WebUtil.SQLFormat(amappstatus, ls_entryid, ldtm_today, li_nextyear, ls_applgrp);
taSrcQuery.Query(amappstatus);
msg = "[5/5] update สถานะการรับเงินปันผล ";
taSrcQuery.Query("update cmprocessing set runtime_message='" + msg + "' where process_id='" + process_id + "'");
results += msg + " \r\n";
logResultTextFile(logsFilePath, ref results, ref results_sql, true, true, false);
}
private void of_clsyear_gennewdoc()
{
}
private void of_clsyear_genbfintacc()
{
string ls_memno, ls_contno, ls_branch;
long ll_index, ll_count;
int li_stepvalue;
Decimal ldc_intaccum, ldc_prinbal;
ls_branch = state.SsCoopControl;
taSrc = new Sta(state.SsConnectionString);
taSrcQuery = new Sta(state.SsConnectionString);
taSrc.Transection();
// Reset ยอดดอกเบี้ยสะสมปีที่แล้ว
taSrcQuery.Query(@"update lncontmaster
set intaccum_lastyear = 0,
prncbalbegin_amt = 0 ");
// บันทึกยอดดอกเบี้ยสะสมปีนี้เก็บไว้
taSrcQuery.Query(@"update lncontmaster
set intaccum_lastyear = interest_accum,
prncbalbegin_amt = principal_balance") ;
// บันทึกยอดดอกเบี้ยสะสมปีนี้เก็บไว้
taSrcQuery.Query(@"update lncontmaster
set interest_accum = 0 ");
// บันทึกยอดดอกเบี้ยสะสมปีนี้เก็บไว้
taSrcQuery.Query(@"update mbmembmaster set accum_interest = 0") ;
//if sqlca.sqlcode <> 0 then
// messagebox( "ตั้งยอดดอกเบี้ยสะสม", "ไม่สามารถ Clear ยอดดอกเบี้ยสะสมสำหรับปีใหม่ได้ "+sqlca.sqlerrtext )
// dw_data.setitem( 1, "reset_intacc", -9 )
// return -1
//end if
msg = "[3/5] บันทึกยอดดอกเบี้ยสะสมปีนี้เก็บไว้ " ;
taSrcQuery.Query("update cmprocessing set runtime_message='" + msg + "' where process_id='" + process_id + "'");
results += msg + " \r\n";
logResultTextFile(logsFilePath, ref results, ref results_sql, true, true, false);
}
private void of_clsyear_genbfloan(DateTime ldtm_operate2)
{
string ls_memno, ls_contno, ls_branch, ls_lnbranchid, ls_entryid;
int li_stepvalue, li_seqno=0, li_period, li_laststmno, li_nextyear;
DateTime ldtm_operate, ldtm_today, ldtm_endyear, ldtm_entrydate;
Decimal ldc_prnarrear, ldc_balance, ldc_intarrear, ldc_finearrear;
taSrc = new Sta(state.SsConnectionString);
taSrcQuery = new Sta(state.SsConnectionString);
taSrc.Transection();
ls_branch = state.SsCoopControl;
Sdt loan = taSrcQuery.Query(@"SELECT LNCONTMASTER.LOANCONTRACT_NO , LNCONTMASTER.COOP_ID , LNCONTMASTER.MEMBER_NO , LNCONTMASTER.LOANTYPE_CODE ,
LNCONTMASTER.LOANREQUEST_AMT , LNCONTMASTER.LOANAPPROVE_AMT , LNCONTMASTER.STARTCONT_DATE ,
LNCONTMASTER.PRINCIPAL_BALANCE , LNCONTMASTER.PERIOD_PAYAMT , LNCONTMASTER.PERIOD_PAYMENT ,
LNCONTMASTER.LASTCALINT_DATE , LNCONTMASTER.LAST_STM_NO ,
LNCONTMASTER.LASTPAYMENT_DATE , LNCONTMASTER.PRINCIPAL_ARREAR , LNCONTMASTER.INTEREST_ARREAR ,
LNCONTMASTER.FINE_ARREAR , LNCONTMASTER.FINEYEAR_ARREAR FROM LNCONTMASTER
WHERE ( LNCONTMASTER.PRINCIPAL_BALANCE > 0 ) and contract_status=1");
Sdt accend_date = taSrcQuery.Query(@"select accend_date from cmaccountyear where account_year = " + Convert.ToDecimal(years.Text) + "");
if(accend_date.Next()){
ldtm_endyear = accend_date.GetDate("accend_date");
}
ldtm_operate = state.SsWorkDate;
// Reset หุ้นยกมาของเก่าทั้งหมด
taSrcQuery.Query(@"update lncontmaster
set prncbalbegin_amt = 0,
intyear_arrear = 0,
fineyear_arrear = 0") ;
ldtm_operate = ldtm_operate.AddDays(1);
while(loan.Next()){
ls_lnbranchid = loan.GetString("coop_id");
ls_memno = loan.GetString("member_no");
ls_contno = loan.GetString("loancontract_no");
ldc_balance = loan.GetDecimal("principal_balance");
ldc_prnarrear = loan.GetDecimal("principal_arrear");
ldc_intarrear = loan.GetDecimal("interest_arrear");
ldc_finearrear = loan.GetDecimal("fine_arrear");
Sdt sno = taSrcQuery.Query(@"select max(seq_no) as li_seqno from lncontstatement where loancontract_no = '"+ls_contno+"'") ;
if(sno.Next()){
li_seqno = sno.GetInt32("li_seqno");
}
li_seqno++;
decimal year = Convert.ToDecimal(years.Text);
DateTime calfine_date = state.SsWorkDate; //set วันที่ยกมาต้นปี
try
{
string sql = "select (accend_date) as accend_date from cmaccountyear where account_year = {0} and coop_id={1}";
sql = WebUtil.SQLFormat(sql, year, state.SsCoopId);
Sdt dtIns = taSrcQuery.Query(sql);
if (dtIns.Next())
{
calfine_date = dtIns.GetDate("accend_date");
}
}
catch { }
try
{
string sqlfine = @"select lastcalfine_date,principal_arrear,expireperiod_date,lastcalfine_date from lncontperiodpaydet
where loancontract_no= {0} and principal_arrear > 0 and expireperiod_date < {1} and coop_id={2} order by period asc";
sqlfine = WebUtil.SQLFormat(sqlfine, ls_contno, calfine_date, state.SsCoopId);
Sdt sqlfine_td = taSrcQuery.Query(sqlfine);
if (sqlfine_td.Next())
{
calfine_date = state.SsWorkDate; //ถ้า มีต้นค้างแสดงว่า เคยมีที่หมด งวด ไปแล้ว ให้ calfinefrom_date และ calfineto_date เท่ากับวันปิดสิดสิ้น ปีไปเลย
}else{
string sqlfine2 = @"select expireperiod_date from lncontperiodpaydet where loancontract_no ={0} and
period_payment <> prinpaid_amt and expireperiod_date >={1} and rownum <=1 and coop_id={2}";
sqlfine2 = WebUtil.SQLFormat(sqlfine2, ls_contno, calfine_date,state.SsCoopId);
Sdt sqlfine2_td = taSrcQuery.Query(sqlfine2);
if (sqlfine2_td.Next())
{
calfine_date = sqlfine2_td.GetDate("expireperiod_date");
}
}
}
catch {
}
// เพิ่มรายการเคลื่อนไหว
String lncontstatement = @" insert into lncontstatement
( loancontract_no, seq_no, coop_id, slip_date, operate_date, ref_docno,
loanitemtype_code, period, principal_payment, interest_payment, principal_balance,
calint_from, calint_to, bfintarrear_amt, bfint_preiod, interest_arrear,
interest_return, entry_id, entry_date, bfprincipal_arrear,
moneytype_code, item_status, bffine_preiod, fine_payment, bffine_arrear ,
intarr_payment , principalpay_period, finearr_payment, bffineyear_amt, bfintyeararr_amt,interest_period,fine_period,calfinefrom_date,calfineto_date)
values ( {0}, {1},{2}, {3},{4}, 'ยกมา',
'B/F', 0, {5}, 0, {6},
{7}, {8},{9},{10}, {11},
0, {12},{13},{14},
'TRN', 1, {15}, 0, {16},
0 , 0, 0, {17}, {18},0,0,{19},{20})";
lncontstatement = WebUtil.SQLFormat(lncontstatement, ls_contno, li_seqno, ls_lnbranchid, ldtm_operate2, ldtm_operate2,
ldc_balance, ldc_balance,
ldtm_operate2, ldtm_operate2, ldc_intarrear, ldc_intarrear, 0,
state.SsUsername, state.SsWorkDate, ldc_prnarrear,
ldc_finearrear, ldc_finearrear,
ldc_finearrear, ldc_intarrear, calfine_date, calfine_date);
taSrcQuery.Query(lncontstatement);
// บันทึกยอดยกมาต้นปี
taSrcQuery.Query(@"update lncontmaster set last_stm_no = "+li_seqno+" , prncbalbegin_amt = "+ldc_balance+","+
"intyear_arrear = "+ldc_intarrear+", fineyear_arrear = "+ldc_finearrear+" , bfprincipalyear_arrear = "+ldc_balance+","+
" bfinterestyear_arrear = "+ldc_intarrear+", bffineyear_arrear = "+ldc_finearrear+" where loancontract_no = '"+ls_contno+"'") ;
msg = "[2/5] กำลังทำหนี้ ยกมา " + ls_memno + " เลขสัญญา " + ls_contno + " [" + loan.GetRowIndex() + "/" + loan.GetRowCount() + "]";
taSrcQuery.Query("update cmprocessing set runtime_message='" + msg + "' where process_id='" + process_id + "'");
results += msg + " \r\n";
logResultTextFile(logsFilePath, ref results, ref results_sql, true, true, false);
}
}
private void of_clsyear_genbfshr(DateTime ldtm_operate2)
{
string ls_memno, ls_sharetype, ls_branch;
long ll_index, ll_countshr, ll_row, ll_count;
int li_stepvalue, li_seqno=0, li_period, li_laststmno, li_nextyear;
DateTime ldtm_operate, ldtm_today, ldtm_endyear;
decimal ldc_shrstkamt=0;
taSrc = new Sta(state.SsConnectionString);
taSrcQuery = new Sta(state.SsConnectionString);
taSrc.Transection();
ls_branch = state.SsCoopControl;
Sdt share = taSrcQuery.Query(@" SELECT SHSHAREMASTER.MEMBER_NO , SHSHAREMASTER.SHARETYPE_CODE , SHSHAREMASTER.SHARESTK_AMT ,
SHSHAREMASTER.LAST_PERIOD , SHSHAREMASTER.SHAREMASTER_STATUS , SHSHAREMASTER.PERIODSHARE_AMT ,
SHSHAREMASTER.PAYMENT_STATUS , SHSHAREMASTER.LAST_STM_NO FROM SHSHAREMASTER WHERE ( SHSHAREMASTER.SHARESTK_AMT > 0 )");
try
{
Convert.ToDecimal(years.Text);
}
catch { }
Sdt accend_date = taSrcQuery.Query(@"select accend_date from cmaccountyear where account_year = " + Convert.ToDecimal(years.Text) + "");
if(accend_date.Next()){
ldtm_endyear = accend_date.GetDate("accend_date");
}
ldtm_operate = state.SsWorkDate;
// Reset หุ้นยกมาของเก่าทั้งหมด
taSrcQuery.Query(@"update shsharemaster
set sharebegin_amt = 0,
sharearrearbf_amt = 0 ");
ldtm_operate = ldtm_operate.AddDays(1);
while(share.Next()){
ls_sharetype = share.GetString("sharetype_code");
ls_memno = share.GetString("member_no");
ldc_shrstkamt = share.GetDecimal("sharestk_amt");
li_period = share.GetInt32("last_period");
li_laststmno = share.GetInt32("last_stm_no");
Sdt sno = taSrcQuery.Query(@"select max(seq_no) as li_seqno from shsharestatement where member_no = '"+ls_memno+"'") ;
if(sno.Next()){
li_seqno = sno.GetInt32("li_seqno");
}
li_seqno++;
String shsharestatement = @" insert into shsharestatement
( member_no , sharetype_code, seq_no , shritemtype_code, period, ref_docno ,operate_date, share_amount, sharestk_amt , slip_date,coop_id)
values
( {0}, {1}, {2}, 'B/F', {3}, 'ยกมา',{4},{5},{6}, {7},{8}) ";
shsharestatement = WebUtil.SQLFormat(shsharestatement,ls_memno, ls_sharetype, li_seqno,
li_period, ldtm_operate, ldc_shrstkamt, ldc_shrstkamt, ldtm_operate2, state.SsCoopControl);
taSrcQuery.Query(shsharestatement);
//if sqlca.sqlcode = FAILURE then
// messagebox('',sqlca.sqlerrtext)
// rollback;
//end if
// บันทึกยอดยกมาต้นปี
taSrcQuery.Query(@"update shsharemaster set sharebegin_amt = "+ldc_shrstkamt+","+
"last_stm_no= "+li_seqno+", sharearrearbf_amt = sharearrear_amt where member_no = '"+ls_memno+"' and sharetype_code = '"+ls_sharetype+"' ");
msg = "[1/5] กำลังทำหุ้นยกมา " + ls_memno + " [" + share.GetRowIndex() + "/" + share.GetRowCount() + "]";
taSrcQuery.Query("update cmprocessing set runtime_message='" + msg + "' where process_id='" + process_id + "'");
results += msg + " \r\n";
logResultTextFile(logsFilePath, ref results, ref results_sql, true, true, false);
}
}
}
}