Exemplo n.º 1
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtUsername.Text) || String.IsNullOrEmpty(txtPassword.Text))
            {
                MessageBox.Show("Please enter the username and password.", "EDI Generator");
                return;
            }


            bool      isLogin = false;
            MySQLdb   db      = new MySQLdb();
            DataTable dt      = db.query("SELECT * FROM staff where STAFF_CODE = '" + txtUsername.Text + "' AND PWD = '" + txtPassword.Text + "';");

            if (dt.Rows.Count > 0)
            {
                isLogin = true;
            }


            if (isLogin)
            {
                AuditLog.User = txtUsername.Text;
                AuditLog.Log("User logged on.");
                FormGenerator f = new FormGenerator(); // This is bad
                f.StartPosition = FormStartPosition.Manual;
                f.Location      = new Point(this.Location.X, this.Location.Y);
                this.Hide();
                f.ShowDialog();
                this.Close();
            }
            else
            {
                MessageBox.Show("Login Failure. Please check username or password.", "EDI Generator");
            }
        }
Exemplo n.º 2
0
 //private const string FTP_SERVER = "210.177.12.144";
 //private const string FTP_USR_ID = "sfhpmprd01";
 //private const string FTP_USR_PW = "M8x72bpaT";
 public static bool FileUploadSFTP(string fileName)
 {
     try
     {
         using (var client = new Renci.SshNet.SftpClient(FTP_SERVER, 22, FTP_USR_ID, FTP_USR_PW))
         {
             client.Connect();
             if (client.IsConnected)
             {
                 using (var fileStream = new FileStream(Path.Combine(Path.GetTempPath(), fileName), FileMode.Open))
                 {
                     client.BufferSize = 4 * 1024; // bypass Payload error large files
                     client.UploadFile(fileStream, fileName);
                     AuditLog.Log("BlueX File is uploaded to FTP successfully. [" + fileName + "]");
                 }
             }
         }
         return(true);
     }
     catch (Exception e)
     {
         AuditLog.Log("Exception Line 109 " + e.Message);
         return(false);
     }
 }
Exemplo n.º 3
0
        private string CheckIDType(string t)
        {
            int    n;
            string result = "STAFFID";

            try
            {
                if (t.Length == 4)
                {
                    t = t.Replace(" ", "#");
                    bool isNumeric = int.TryParse(t, out n);
                    if (isNumeric)
                    {
                        result = "INSUREDNO_4";
                    }
                }
                if (t.Length == 7)
                {
                    t = t.Replace(" ", "#");
                    if ((t.Substring(4, 1) == "W") || (t.Substring(4, 1) == "H") || (t.Substring(4, 1) == "C"))
                    {
                        bool isNumeric = int.TryParse(t.Substring(5, 2), out n);
                        if (isNumeric)
                        {
                            result = "INSUREDNO_7";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                AuditLog.Log("Exception Line 350 " + ex.Message);
            }
            return(result);
        }
Exemplo n.º 4
0
        public static void Compress(string zipFileName, string[] importFiles)
        {
            try
            {
                byte[] buffer = new byte[4096];

                using (ZipOutputStream s = new ZipOutputStream(File.Create(Path.Combine(Path.GetTempPath(), zipFileName))))
                {
                    // 設定壓縮比
                    s.Password = "******";
                    s.SetLevel(7);

                    // 逐一將資料夾內的檔案抓出來壓縮,並寫入至目的檔(.ZIP)
                    foreach (string filename in importFiles)
                    {
                        ZipEntry entry = new ZipEntry(filename);
                        s.PutNextEntry(entry);

                        using (FileStream fs = File.OpenRead(Path.Combine(Path.GetTempPath(), filename)))
                            StreamUtils.Copy(fs, s, buffer);
                    }
                }
            }
            catch (Exception ex)
            {
                AuditLog.Log("Exception Line 44 " + ex.Message);
            }
        }
Exemplo n.º 5
0
        public void GenerateEDI()
        {
            try
            {
                CreateTempPair();
                CreateBillPair();
                OpenFolder();
            }
            catch (Exception exHandle)
            {
                ErrorMessage += "Main:" + exHandle.Message + "\n";

                AuditLog.Log("Exception Line 64 " + exHandle.Message);
            }
            finally
            {
            }
        }
Exemplo n.º 6
0
        private String DateConvert(string d)
        {
            string result = "";

            if (!String.IsNullOrEmpty(d))
            {
                try
                {
                    DateTime oDate = DateTime.Parse(d);
                    result = oDate.ToString("yyyyMMdd");
                }
                catch (Exception ex)
                {
                    AuditLog.Log("Exception Line 368 " + ex.Message);
                }
            }
            return(result);
        }
Exemplo n.º 7
0
 public static bool CheckFileExistsOnFTP(string fileName)
 {
     try
     {
         string logMessage  = "";
         long   ftp_fileLen = 0;
         using (var sftp = new Renci.SshNet.SftpClient(FTP_SERVER, 22, FTP_USR_ID, FTP_USR_PW))
         {
             try
             {
                 sftp.Connect();
                 SftpFile file = sftp.Get(fileName);
                 ftp_fileLen = file.Attributes.Size;
             }
             catch (Exception Sftpex)
             {
                 AuditLog.Log("Exception Line 129 " + Sftpex.ToString());
             }
         }
         long fileLen = new System.IO.FileInfo(Path.Combine(Path.GetTempPath(), fileName)).Length;
         logMessage = "BlueX File is existed to FTP? ";
         if (ftp_fileLen == fileLen)
         {
             logMessage += "[Yes]";
         }
         else
         {
             logMessage += "[No]";
         }
         AuditLog.Log(logMessage);
         return(true);
     }
     catch (WebException ex)
     {
         AuditLog.Log("Exception Line 148 " + ex.Message);
         FtpWebResponse response = (FtpWebResponse)ex.Response;
         if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
         {
             return(false);
         }
     }
     return(false);
 }
Exemplo n.º 8
0
        public void GenerateEDI()
        {
            ExcelApp      = new Application();
            ExcelWorkBook = ExcelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);

            try
            {
                CreateSheet_GP();
                CreateSheet_GP_MED();
                CreateSheet_GP_LAB();
                CreateSheet_GP_MOP();
                CreateSheet_GP_MED_LAB();
                CreateSheet_GP_MED_MOP();
                CreateSheet_GP_LAB_MOP();
                CreateSheet_GP_MED_LAB_MOP();
                CreateSheet_SP();
                CreateSheet_SP_MED();
                CreateSheet_SP_LAB();
                CreateSheet_SP_MOP();
                CreateSheet_SP_MED_LAB();
                CreateSheet_SP_MED_MOP();
                CreateSheet_SP_LAB_MOP();
                CreateSheet_SP_MED_LAB_MOP();
                CreateSheet_LAB();
                CreateSheet_PHY();
                ExcelWorkBook.Worksheets[1].Delete();
                Marshal.ReleaseComObject(ExcelWorkBook);
                ExcelApp.Visible = true;
                Marshal.ReleaseComObject(ExcelApp);

                AuditLog.Log("AIA File is exported.");
            }
            catch (Exception exHandle)
            {
                ErrorMessage += "Main:" + exHandle.Message + "\n";

                AuditLog.Log("Exception Line 82 " + exHandle.Message);
            }
            finally
            {
            }
        }
Exemplo n.º 9
0
        private String DateConvert2(string d)
        {
            string result = "";

            if (!String.IsNullOrEmpty(d))
            {
                try
                {
                    DateTime oDate = DateTime.Parse(d);
                    result = oDate.ToString("yyyy-MM-dd");
                }
                catch (Exception ex)
                {
                    ErrorMessage += "DateConvert:" + ex.Message + " (" + d + ")\n";

                    AuditLog.Log("Exception Line 834 " + ex.Message);
                }
            }
            return(result);
        }
Exemplo n.º 10
0
        private void CopyToOutput(string fileName)
        {
            try
            {
                string outputPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + filePath;

                if (!Directory.Exists(outputPath))
                {
                    System.IO.Directory.CreateDirectory(outputPath);
                }

                System.IO.File.Copy(System.IO.Path.Combine(Path.GetTempPath(), fileName), System.IO.Path.Combine(outputPath, fileName), true);

                AuditLog.Log("BlueX File is created. [" + Path.Combine(filePath, fileName) + "]");
            }
            catch (Exception ex)
            {
                AuditLog.Log("Exception Line 261 " + ex.Message);
            }
        }
Exemplo n.º 11
0
        private void backgroundWorker1_RunWorkerCompleted_1(object sender, RunWorkerCompletedEventArgs e)
        {
            string message = "";

            txtBatchNo.ReadOnly   = false;
            dpInvoiceDate.Enabled = true;
            pb_loading.Visible    = false;
            btnGenerator.Enabled  = true;
            if (ReportSelected)
            {
                if (String.IsNullOrEmpty(ExportErrorMessage))
                {
                    message  = "EDI exported successfully.";
                    message += "\nTotal of exported Vouchers = " + ExportVouchers;
                    AuditLog.Log("UX: EDI exported successfully. Total of exported Vouchers = " + ExportVouchers);

                    if (cmb_submit.SelectedIndex == 1)
                    {
                        message += "\n\nFTP uploaded " + (SubmissionResult ? "successfully" : "failure") + ".";
                        AuditLog.Log("UX: FTP uploaded " + (SubmissionResult ? "successfully" : "failure") + ".");
                    }
                }
                else
                {
                    message = "EDI exported with error as below.\nTotal of exported Vouchers = " + ExportVouchers + "\n-------------------------------------\n" + ExportErrorMessage;
                    AuditLog.Log("UX: EDI exported with error as below. Total of exported Vouchers = " + ExportVouchers);
                    AuditLog.Log("UX: " + ExportErrorMessage.Replace("\n", ", "));

                    if (cmb_submit.SelectedIndex == 1)
                    {
                        message += "\nFTP uploaded is pending because of error.";
                        AuditLog.Log("UX: FTP uploaded is pending because of error.");
                    }
                }
            }
            else
            {
                message = "No EDI format provided for this company.";
            }
            MessageBox.Show(message, "EDI Generator", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);
        }
Exemplo n.º 12
0
 private void btnGenerator_Click(object sender, EventArgs e)
 {
     ReportSelected   = false;
     isAutoSubmission = false;
     if (String.IsNullOrEmpty(txtCompanyCode.Text))
     {
         MessageBox.Show("Please provide the correct batch no.", "EDI Generator");
         return;
     }
     if (!txtVoucherStatus.Text.Equals("CONFIRMED"))
     {
         MessageBox.Show("Vouchers are waiting for verification.", "EDI Generator");
         return;
     }
     if (cmb_submit.SelectedIndex == 1)
     {
         var confirmResult = MessageBox.Show("Are you sure you want to upload the result to FTP?", "Are you sure?", MessageBoxButtons.YesNo);
         if (confirmResult == DialogResult.No)
         {
             return;
         }
         else
         {
             isAutoSubmission = true;
         }
     }
     AuditLog.Log("User goes to export EDI. (Batch No:" + txtBatchNo.Text + ", Company: " + txtCompanyCode.Text.Trim() + ")");
     if (cmb_submit.SelectedIndex == 1)
     {
         AuditLog.Log("User requests for auto submission.");
     }
     btnGenerator.Enabled = false;
     btnGenerator.Refresh();
     pb_loading.Visible = true;
     pb_loading.Refresh();
     txtBatchNo.ReadOnly   = true;
     dpInvoiceDate.Enabled = false;
     backgroundWorker1.RunWorkerAsync();
 }
Exemplo n.º 13
0
        private void SetupDataContent(Worksheet sheet, System.Data.DataTable dt, string strtype)
        {
            string         trackVoucherNo = "";
            int            execel_row     = 2;
            List <decimal> trx_preAmt     = null;
            List <string>  trx_proCode    = null;
            List <string>  trx_proDesc    = null;
            List <string>  trx_h_remark   = null;

            foreach (System.Data.DataRow r in dt.Rows)
            {
                try
                {
                    string voucher_remark = "";
                    trackVoucherNo = r["VOUCHER_NO"].ToString();

                    System.Data.DataTable dt2 = db.query("SELECT * FROM humphrey.voucher_fee_line WHERE BATCH_NO = '" + Batch_No + "' AND COMPANY_CODE = '" + r["COMPANY_CODE"].ToString() + "' AND VOUCHER_NO = '" + r["VOUCHER_NO"].ToString() + "' ORDER BY LINE_NO;");
                    foreach (System.Data.DataRow r2 in dt2.Rows)
                    {
                        trx_preAmt   = null;
                        trx_proCode  = null;
                        trx_proDesc  = null;
                        trx_h_remark = null;
                        if (!strtype.Equals("LAB"))
                        {
                            voucher_remark = GetProDesc(r["TYPE"].ToString()) + ((GetProDesc(r["TYPE"].ToString()) == GetProDesc(r2["FEE_CODE"].ToString())) ? "" : "+" + GetProDesc(r2["FEE_CODE"].ToString()));
                        }
                        else
                        {
                            voucher_remark = GetProDesc(r2["FEE_CODE"].ToString());
                        }

                        trx_preAmt = new List <decimal>();
                        trx_preAmt.Add(Convert.ToDecimal(r2["FEE"].ToString()));

                        if (r2["FEE_CODE"].ToString().ToUpper() == "EXTRA MED")
                        {
                            if (Med_Split)
                            {
                                if (!String.IsNullOrEmpty(r["DP_TYPE"].ToString()))
                                {
                                    try
                                    {
                                        trx_preAmt = new List <decimal>();
                                        decimal longM = Convert.ToDecimal(((String.IsNullOrEmpty(r["DP_TYPE"].ToString()) ? "0" : r["DP_TYPE"].ToString())));
                                        decimal fullM = Convert.ToDecimal(((String.IsNullOrEmpty(r2["FEE"].ToString()) ? "0" : r2["FEE"].ToString())));
                                        trx_preAmt.Add(fullM - longM);  //Short Med
                                        trx_preAmt.Add(longM);          //Long Med
                                    }
                                    catch (Exception ex2)
                                    {
                                        ErrorMessage += "V" + trackVoucherNo + " : (1)" + ex2.Message + "\n";

                                        AuditLog.Log("Exception Line 588 " + ex2.Message);
                                    }
                                }
                            }
                        }
                        if (r2["FEE_CODE"].ToString().ToUpper() == "LAB/XRAY")
                        {
                            string  strLabCode = r["LAB_XRAY_CODE"].ToString();
                            decimal sum        = 0;
                            decimal input      = Convert.ToDecimal(r2["FEE"].ToString());

                            if (!String.IsNullOrEmpty(strLabCode))
                            {
                                try
                                {
                                    string[] arr_LabCode = strLabCode.Split(',');
                                    trx_proCode  = new List <string>();
                                    trx_proDesc  = new List <string>();
                                    trx_preAmt   = new List <decimal>();
                                    trx_h_remark = new List <string>();
                                    foreach (string s in arr_LabCode)
                                    {
                                        if (!String.IsNullOrEmpty(s))
                                        {
                                            string cpt_code = s.Trim();
                                            string sub_code = "";
                                            if (cpt_code.IndexOf("-") > 0)
                                            {
                                                string[] arr_code = cpt_code.Split('-');
                                                cpt_code = arr_code[0].Trim();
                                                if (arr_code.Length > 1)
                                                {
                                                    sub_code = arr_code[1].Trim();
                                                }
                                            }

                                            string sql = "SELECT CODE, DESCRIPTION, FEE FROM lab_mop_mapping m WHERE INACTIVE = 0 AND TYPE = 'LAB' AND CODE = '" + cpt_code + "'";
                                            if (!String.IsNullOrEmpty(sub_code))
                                            {
                                                sql += " AND subcode = '" + sub_code + "'";
                                            }
                                            sql += " AND (COMPANY_CODE = '" + r["COMPANY_CODE"].ToString().Substring(0, 3) + "' OR COMPANY_CODE = '" + r["COMPANY_CODE"].ToString() + "')";
                                            sql += " AND (DR_CODE = '' OR DR_CODE like '%@" + r["DR_CODE"].ToString() + "@%') ORDER BY DR_CODE DESC, COMPANY_CODE DESC";
                                            System.Data.DataTable dt3 = db.query(sql);

                                            if (dt3.Rows.Count > 0)
                                            {
                                                trx_proCode.Add(dt3.Rows[0]["CODE"].ToString());
                                                trx_proDesc.Add(dt3.Rows[0]["DESCRIPTION"].ToString());
                                                trx_preAmt.Add(Convert.ToDecimal(dt3.Rows[0]["FEE"].ToString()));
                                                trx_h_remark.Add("");
                                                sum += Convert.ToDecimal(dt3.Rows[0]["FEE"].ToString());
                                            }
                                            else
                                            {
                                                trx_proCode.Add(s.Trim());
                                                trx_proDesc.Add("");
                                                trx_preAmt.Add(input);
                                                trx_h_remark.Add("#NO LAB FOUND#");
                                                sum += input;
                                            }
                                        }
                                    }
                                    if (input != sum)
                                    {
                                        for (int i = 0; i < trx_h_remark.Count; i++)
                                        {
                                            if (String.IsNullOrEmpty(trx_h_remark[i]))
                                            {
                                                trx_h_remark[i] = "#TOTAL NOT MATCHED#";
                                            }
                                        }
                                    }
                                }
                                catch (Exception ex3)
                                {
                                    ErrorMessage += "V" + trackVoucherNo + " : (2)" + ex3.Message + "\n";

                                    AuditLog.Log("Exception Line 662 " + ex3.Message);
                                }
                            }
                            else
                            {
                                trx_h_remark = new List <string>();
                                trx_h_remark.Add("#LAB MISSING#");
                            }
                        }
                        if (r2["FEE_CODE"].ToString().ToUpper() == "SURGICAL")
                        {
                            string  strSurgicalCode = r["SURGICAL_CODE"].ToString();
                            decimal sum             = 0;
                            decimal input           = Convert.ToDecimal(r2["FEE"].ToString());

                            if (!String.IsNullOrEmpty(strSurgicalCode))
                            {
                                try
                                {
                                    string[] arr_SurgicalCode = strSurgicalCode.Split(',');
                                    trx_proCode  = new List <string>();
                                    trx_proDesc  = new List <string>();
                                    trx_preAmt   = new List <decimal>();
                                    trx_h_remark = new List <string>();
                                    foreach (string s in arr_SurgicalCode)
                                    {
                                        if (!String.IsNullOrEmpty(s))
                                        {
                                            string cpt_code = s.Trim();
                                            string sub_code = "";
                                            if (cpt_code.IndexOf("-") > 0)
                                            {
                                                string[] arr_code = cpt_code.Split('-');
                                                cpt_code = arr_code[0].Trim();
                                                if (arr_code.Length > 1)
                                                {
                                                    sub_code = arr_code[1].Trim();
                                                }
                                            }

                                            string sql = "SELECT CODE, DESCRIPTION, FEE FROM lab_mop_mapping m WHERE INACTIVE = 0 AND TYPE = 'MOP' AND CODE = '" + cpt_code + "'";
                                            if (!String.IsNullOrEmpty(sub_code))
                                            {
                                                sql += " AND subcode = '" + sub_code + "'";
                                            }
                                            sql += " AND (COMPANY_CODE = '" + r["COMPANY_CODE"].ToString().Substring(0, 3) + "' OR COMPANY_CODE = '" + r["COMPANY_CODE"].ToString() + "')";
                                            sql += " AND (DR_CODE = '' OR DR_CODE like '%@" + r["DR_CODE"].ToString() + "@%') ORDER BY DR_CODE DESC, COMPANY_CODE DESC";
                                            System.Data.DataTable dt3 = db.query(sql);

                                            //System.Data.DataTable dt3 = db.query("SELECT CODE, DESCRIPTION, FEE FROM lab_mop_mapping m WHERE TYPE = 'MOP' AND CODE = '" + s.Trim() + "' AND INACTIVE = 0;");

                                            if (dt3.Rows.Count > 0)
                                            {
                                                trx_proCode.Add(dt3.Rows[0]["CODE"].ToString());
                                                trx_proDesc.Add(dt3.Rows[0]["DESCRIPTION"].ToString());
                                                trx_preAmt.Add(Convert.ToDecimal(dt3.Rows[0]["FEE"].ToString()));
                                                trx_h_remark.Add("");
                                                sum += Convert.ToDecimal(dt3.Rows[0]["FEE"].ToString());
                                            }
                                            else
                                            {
                                                trx_proCode.Add(s.Trim());
                                                trx_proDesc.Add("");
                                                trx_preAmt.Add(input);
                                                trx_h_remark.Add("#NO MOP FOUND#");
                                                sum += input;
                                            }
                                        }
                                    }
                                    if (input != sum)
                                    {
                                        for (int i = 0; i < trx_h_remark.Count; i++)
                                        {
                                            if (String.IsNullOrEmpty(trx_h_remark[i]))
                                            {
                                                trx_h_remark[i] = "#TOTAL NOT MATCHED#";
                                            }
                                        }
                                    }
                                }
                                catch (Exception ex3)
                                {
                                    ErrorMessage += "V" + trackVoucherNo + " : (3)" + ex3.Message + "\n";

                                    AuditLog.Log("Exception Line 742 " + ex3.Message);
                                }
                            }
                            else
                            {
                                trx_h_remark = new List <string>();
                                trx_h_remark.Add("#MOP MISSING#");
                            }
                        }

                        string trx_company_doctor_code = "";
                        string sql2 = "SELECT COMPANY_DR_CODE FROM company_doctor WHERE DR_CODE = '" + r["DR_CODE"].ToString() + "' AND COMPANY_CODE = '" + r["COMPANY_CODE"].ToString().Trim() + "' AND (TYPE1 = '" + r["TYPE"].ToString() + "' OR TYPE2 = '" + r["TYPE"].ToString() + "') AND '" + DateConvert2(r["TREATMENT_DATE"].ToString()) + "' < IFNULL(TERM_DATE, '2099-12-31')";
                        System.Data.DataTable dt4 = db.query(sql2);
                        if (dt4.Rows.Count == 1)
                        {
                            trx_company_doctor_code = dt4.Rows[0]["COMPANY_DR_CODE"].ToString();
                        }
                        else
                        {
                            trx_h_remark = new List <string>();
                            for (int i = 1; i <= trx_preAmt.Count; i++)
                            {
                                trx_h_remark.Add("#Wrong Company Doctor Information#");
                            }
                        }

                        if (!String.IsNullOrEmpty(r["DR_TERM_DATE"].ToString()))
                        {
                            if ((DateTime.Parse(r["TREATMENT_DATE"].ToString()) - DateTime.Parse(r["DR_TERM_DATE"].ToString())).TotalHours > 1)
                            {
                                trx_h_remark = new List <string>();
                                for (int i = 1; i <= trx_preAmt.Count; i++)
                                {
                                    trx_h_remark.Add("#Doctor terminated#");
                                }
                            }
                        }


                        for (int i = 1; i <= trx_preAmt.Count; i++)
                        {
                            try
                            {
                                if (trx_preAmt[i - 1] > 0)
                                {
                                    if (trx_proCode == null)
                                    {
                                        sheet.Cells[execel_row, 13] = GetProCode(r2["FEE_CODE"].ToString(), strtype, i.ToString());
                                    }
                                    else
                                    {
                                        if (trx_proCode != null && trx_proCode.Count >= i)
                                        {
                                            sheet.Cells[execel_row, 13] = trx_proCode[i - 1];
                                        }
                                        if (trx_proDesc != null && trx_proDesc.Count >= i)
                                        {
                                            sheet.Cells[execel_row, 14] = trx_proDesc[i - 1];
                                        }
                                    }
                                    sheet.Cells[execel_row, 15] = trx_preAmt[i - 1];

                                    sheet.Cells[execel_row, 1]  = trx_company_doctor_code;
                                    sheet.Cells[execel_row, 2]  = r["DR_E_NAME"].ToString();
                                    sheet.Cells[execel_row, 3]  = r["INVOICE_NO"].ToString();
                                    sheet.Cells[execel_row, 4]  = DateConvert(invoice_date);
                                    sheet.Cells[execel_row, 5]  = r["MEMBER_CODE"].ToString();
                                    sheet.Cells[execel_row, 6]  = r["MEMBER_E_NAME"].ToString();
                                    sheet.Cells[execel_row, 7]  = DateConvert(r["TREATMENT_DATE"].ToString());
                                    sheet.Cells[execel_row, 8]  = ((r["TYPE"].ToString() == "PHY" || r["TYPE"].ToString() == "PHY2" || r["TYPE"].ToString() == "CU") ? "PH" : r["TYPE"].ToString());
                                    sheet.Cells[execel_row, 9]  = r["DIAG_CODE1"].ToString();
                                    sheet.Cells[execel_row, 10] = r["DIAG_DESC1"].ToString();
                                    sheet.Cells[execel_row, 11] = r["DIAG_CODE2"].ToString();
                                    sheet.Cells[execel_row, 12] = r["DIAG_DESC2"].ToString();
                                    sheet.Cells[execel_row, 16] = ((r2["LINE_NO"].ToString() == "1") ? r["CO_PAY"].ToString() : "0");
                                    sheet.Cells[execel_row, 17] = DateConvert(r["SL_FROM"].ToString());
                                    sheet.Cells[execel_row, 18] = DateConvert(r["SL_TO"].ToString());
                                    sheet.Cells[execel_row, 19] = r["VOUCHER_NO"].ToString();
                                    sheet.Cells[execel_row, 25] = r["MEMBER_STAFF_NO"].ToString();
                                    sheet.Cells[execel_row, 24] = voucher_remark;

                                    if (trx_h_remark != null && trx_h_remark.Count >= i)
                                    {
                                        sheet.Cells[execel_row, 26] = trx_h_remark[i - 1];
                                        if (!String.IsNullOrEmpty(trx_h_remark[i - 1]))
                                        {
                                            sheet.Cells[execel_row, 26].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow);
                                        }
                                    }
                                    execel_row++;
                                }
                            }
                            catch (Exception ex3)
                            {
                                ErrorMessage += "V" + trackVoucherNo + " : (4)" + ex3.Message + "\n";

                                AuditLog.Log("Exception Line 801 " + ex3.Message);
                            }
                        }
                    }
                }
                catch (Exception exx)
                {
                    ErrorMessage += "V" + trackVoucherNo + " : (5)" + exx.Message + "\n";

                    AuditLog.Log("Exception Line 810 " + exx.Message);
                }
            }
            sheet.Columns.AutoFit();
        }
Exemplo n.º 14
0
        private void CreateTempPair()
        {
            string trackVoucherNo = "";
            string lastVoucherNo  = "";

            System.Data.DataTable dt = db.query("SELECT cd.COMPANY_DR_CODE, cd.LOC_CODE, v.*, d.TERM_DATE AS DR_TERM_DATE, (SELECT FEE FROM voucher_fee_line vf WHERE v.BATCH_NO = vf.BATCH_NO AND v.VOUCHER_NO = vf.VOUCHER_NO AND v.COMPANY_CODE = vf.COMPANY_CODE AND vf.LINE_NO = 1) AS 'FEE', (SELECT COUNT(*) FROM company_doctor d WHERE v.DR_CODE=d.DR_CODE AND d.COMPANY_CODE = 'BLUEX' AND LOC_CODE <> '' AND v.TREATMENT_DATE < IFNULL(TERM_DATE, '2099-12-31') ) AS 'NUMOFDOC' FROM voucher_line v INNER JOIN doctor d ON v.DR_CODE=d.DR_CODE LEFT JOIN company_doctor cd ON v.DR_CODE=cd.DR_CODE AND cd.COMPANY_CODE = 'BLUEX' AND v.TREATMENT_DATE < IFNULL(cd.TERM_DATE, '2099-12-31') WHERE v.FEE_AMT > 0 AND v.BATCH_NO = '" + Batch_No + "' ORDER BY VOUCHER_NO;");

            if (dt.Rows.Count > 0)
            {
                string data = "";
                data += ("HPM").PadRight(5);
                data += DateConvert(invoice_date).PadLeft(8);
                data += " " + dt.Rows.Count.ToString().PadLeft(5, '0');
                data += "T";

                Library.WriteFile("TH" + DateConvert(invoice_date) + "HPM.txt", data);

                data = "";
                foreach (System.Data.DataRow r in dt.Rows)
                {
                    try
                    {
                        trackVoucherNo = r["VOUCHER_NO"].ToString();
                        data          += r["POLICY_NO"].ToString().Replace(",", ".").PadRight(10);
                        data          += "".PadLeft(3) + " ";
                        string IDtype = CheckIDType(r["INSURED_NO"].ToString());
                        if ((IDtype == "INSUREDNO_4") || (IDtype == "INSUREDNO_7"))
                        {
                            data += r["INSURED_NO"].ToString().PadRight(7);
                            data += "".PadLeft(16);
                        }
                        else
                        {
                            data += "".PadLeft(7);
                            data += r["INSURED_NO"].ToString().PadRight(16);
                        }
                        data += r["MEMBER_E_NAME"].ToString().Trim().PadRight(30);
                        data += r["VOUCHER_NO"].ToString().PadRight(7);
                        data += r["COMPANY_DR_CODE"].ToString().PadRight(5);
                        data += GetServiceCode(r["TYPE"].ToString()).PadRight(8);
                        data += r["DIAG_CODE1"].ToString().PadRight(8);
                        data += r["DIAG_CODE2"].ToString().PadRight(8);
                        data += GetBenefitCode(r["TYPE"].ToString()).PadRight(3);
                        data += ((decimal)decimal.Parse(r["FEE"].ToString()) - (decimal)decimal.Parse(r["CO_PAY"].ToString())).ToString("0.00").PadLeft(11);
                        data += " " + DateConvert(r["TREATMENT_DATE"].ToString()).PadRight(8);
                        data += r["LOC_CODE"].ToString().PadRight(4);
                        data += r["SICK_LEAVE"].ToString().PadLeft(3);
                        data += ("HPM").PadRight(5);
                        data += "\n";

                        //##########################################Checking#################################################
                        if (!String.IsNullOrEmpty(r["POLICY_NO"].ToString()) && r["POLICY_NO"].ToString().Length != 10)
                        {
                            ErrorMessage += "V" + trackVoucherNo + " : Wrong Policy No. \n";
                        }
                        if (!String.IsNullOrEmpty(r["VOUCHER_NO"].ToString()) && r["VOUCHER_NO"].ToString().Length > 7)
                        {
                            ErrorMessage += "V" + trackVoucherNo + " : Wrong Voucher No. \n";
                        }
                        if (!String.IsNullOrEmpty(r["MEMBER_STAFF_NO"].ToString()) || !String.IsNullOrEmpty(r["DP_TYPE"].ToString()))
                        {
                            ErrorMessage += "V" + trackVoucherNo + " : Insured No. should be combined. \n";
                        }
                        if ((r["NUMOFDOC"].ToString() != "1") && (lastVoucherNo != trackVoucherNo))
                        {
                            ErrorMessage += "V" + trackVoucherNo + " : " + (r["NUMOFDOC"].ToString() == "0" ? "Missing" : "Wrong") + " Company Doctor Information. \n";
                        }
                        if (!String.IsNullOrEmpty(r["DR_TERM_DATE"].ToString()))
                        {
                            if ((DateTime.Parse(r["TREATMENT_DATE"].ToString()) - DateTime.Parse(r["DR_TERM_DATE"].ToString())).TotalHours > 1)
                            {
                                ErrorMessage += "V" + trackVoucherNo + " : Doctor terminated. \n";
                            }
                        }
                        //##########################################Checking#################################################

                        lastVoucherNo = trackVoucherNo;
                    }
                    catch (Exception ex)
                    {
                        AuditLog.Log("Exception Line 119 " + ex.Message);
                    }
                }
                Library.WriteFile("TD" + DateConvert(invoice_date) + "HPM.txt", data);

                string zipFile = CompressZip("TEMP");
                CopyToOutput(zipFile);

                if (isAutoSubmission)
                {
                    if (String.IsNullOrEmpty(ErrorMessage))
                    {
                        if (File.Exists(Path.Combine(Path.GetTempPath(), zipFile)))
                        {
                            FTP_RESULT_T = UploadToFtp(zipFile);
                        }
                    }
                }

                TotalVouchers += dt.Rows.Count;
            }
        }
Exemplo n.º 15
0
        private void CreateBillPair()
        {
            string trackVoucherNo = "";

            System.Data.DataTable dt = db.query("SELECT cd.COMPANY_DR_CODE, cd.LOC_CODE, v.CO_PAY, v.POLICY_NO,v.INSURED_NO,v.MEMBER_E_NAME,v.TYPE,v.DIAG_CODE1,v.DIAG_CODE2,v.TREATMENT_DATE,v.SICK_LEAVE, f.* FROM voucher_line v LEFT JOIN voucher_fee_line f ON v.COMPANY_CODE=f.COMPANY_CODE AND v.BATCH_NO=f.BATCH_NO AND v.VOUCHER_NO=f.VOUCHER_NO LEFT JOIN company_doctor cd ON v.DR_CODE=cd.DR_CODE AND cd.COMPANY_CODE = 'BLUEX' AND v.TREATMENT_DATE < IFNULL(cd.TERM_DATE, '2099-12-31') WHERE v.BATCH_NO = '" + Batch_No + "' ORDER BY VOUCHER_NO, LINE_NO;");

            if (dt.Rows.Count > 0)
            {
                string data = "";
                data += ("HPM").PadRight(5);
                data += DateConvert(invoice_date).PadLeft(8);
                data += " " + dt.Rows.Count.ToString().PadLeft(5, '0');
                data += "T";

                Library.WriteFile("BH" + DateConvert(invoice_date) + "HPM.txt", data);


                data = "";
                foreach (System.Data.DataRow r in dt.Rows)
                {
                    try
                    {
                        trackVoucherNo = r["VOUCHER_NO"].ToString();
                        if (decimal.Parse(r["FEE"].ToString()) > 0)
                        {
                            data += r["POLICY_NO"].ToString().Replace(",", ".").PadLeft(10);
                            data += "".PadLeft(3) + " ";
                            string IDtype = CheckIDType(r["INSURED_NO"].ToString());
                            if ((IDtype == "INSUREDNO_4") || (IDtype == "INSUREDNO_7"))
                            {
                                data += r["INSURED_NO"].ToString().PadRight(7);
                                data += "".PadLeft(16);
                            }
                            else
                            {
                                data += "".PadLeft(7);
                                data += r["INSURED_NO"].ToString().PadRight(16);
                            }
                            data += r["MEMBER_E_NAME"].ToString().Trim().PadRight(30);
                            data += r["VOUCHER_NO"].ToString().PadRight(7);
                            data += r["COMPANY_DR_CODE"].ToString().PadRight(5);
                            data += GetServiceCode(r["FEE_CODE"].ToString()).PadRight(8);
                            data += r["DIAG_CODE1"].ToString().PadRight(8);
                            data += r["DIAG_CODE2"].ToString().PadRight(8);
                            data += GetBenefitCode(r["FEE_CODE"].ToString()).PadRight(3);
                            if (r["LINE_NO"].ToString().Equals("1"))
                            {
                                data += ((decimal)decimal.Parse(r["FEE"].ToString()) - (decimal)decimal.Parse(r["CO_PAY"].ToString())).ToString("0.00").PadLeft(11);
                            }
                            else
                            {
                                data += ((decimal)decimal.Parse(r["FEE"].ToString())).ToString("0.00").PadLeft(11);
                            }
                            data += " " + DateConvert(r["TREATMENT_DATE"].ToString()).PadRight(8);
                            data += r["LOC_CODE"].ToString().PadRight(4);
                            data += r["SICK_LEAVE"].ToString().PadLeft(3);
                            data += ("HPM").PadRight(5);
                            data += "\n";
                        }
                    }
                    catch (Exception ex)
                    {
                        AuditLog.Log("Exception Line 196 " + ex.Message);
                    }
                }
                Library.WriteFile("BD" + DateConvert(invoice_date) + "HPM.txt", data);

                string zipFile = CompressZip("BILL");
                CopyToOutput(zipFile);

                if (isAutoSubmission)
                {
                    if (String.IsNullOrEmpty(ErrorMessage))
                    {
                        if (File.Exists(Path.Combine(Path.GetTempPath(), zipFile)))
                        {
                            FTP_RESULT_B = UploadToFtp(zipFile);
                        }
                    }
                }
            }
        }