Exemplo n.º 1
0
        /// <summary>
        /// Parses all glyphs from the page xml file.
        /// </summary>
        /// <returns>List of glyph objects with ID and Unicode propagated.</returns>
        public List <Glyph> GetGlyphs()
        {
            /*
             * For some odd reason we have to specify our own xml prefix for the namespace,
             * because .NET didn't accept a URI for the default namespace xmlns.
             *
             */
            XmlNamespaceManager namespaceManager = new XmlNamespaceManager(reader.NameTable);

            namespaceManager.AddNamespace("aletheia", pageXmlNamespace.NamespaceName);

            var Extracts = from REC in aletheiaDoc.Descendants(pageXmlNamespace + "TextLine")
                           select new Glyph
            {
                ID      = (string)(REC.Attribute("id") ?? new XAttribute("id", string.Empty)),
                Unicode = REC.XPathSelectElement("./aletheia:TextEquiv/aletheia:Unicode", namespaceManager) != null
                                       ? REC.XPathSelectElement("./aletheia:TextEquiv/aletheia:Unicode", namespaceManager).Value
                                       : string.Empty,
                PointsString = REC.XPathSelectElement("./aletheia:Coords", namespaceManager) != null
                                            ? REC.XPathSelectElement("./aletheia:Coords", namespaceManager).Attribute("points").Value
                                            : string.Empty
            };

            return(Extracts.ToList());
        }
Exemplo n.º 2
0
        protected void SetDetail(string vTreaRegisterId, string vUser_Id)
        {
            _REC = new REC();

            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                //取得開庫紀錄檔
                var _TOR = db.TREA_OPEN_REC.AsNoTracking()
                           .FirstOrDefault(x => x.TREA_REGISTER_ID == vTreaRegisterId);

                //金庫管理者
                var UserData = new V_EMPLY2();
                using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities())
                {
                    UserData = dbINTRA.V_EMPLY2.AsNoTracking().FirstOrDefault(x => x.USR_ID == vUser_Id);
                }

                //開庫類型
                var OpenTreaType = db.SYS_CODE.AsNoTracking()
                                   .Where(x => x.CODE_TYPE == "OPEN_TREA_TYPE").ToList();

                if (_TOR != null)
                {
                    _REC.SYS_DATE         = DateTime.Now.ToString("yyyy/MM/dd");
                    _REC.TREA_REGISTER_ID = _TOR.TREA_REGISTER_ID;
                    _REC.USER_NAME        = UserData.EMP_NAME;
                    _REC.ACTUAL_PUT_TIME  = string.IsNullOrEmpty(_TOR.ACTUAL_PUT_TIME.ToString()) ? null : DateTime.Parse(_TOR.ACTUAL_PUT_TIME.ToString()).ToString("HH:mm");
                    _REC.ACTUAL_GET_TIME  = string.IsNullOrEmpty(_TOR.ACTUAL_GET_TIME.ToString()) ? null : DateTime.Parse(_TOR.ACTUAL_GET_TIME.ToString()).ToString("HH:mm");
                    _REC.OPEN_TREA_TYPE   = OpenTreaType.FirstOrDefault(x => x.CODE == _TOR.OPEN_TREA_TYPE).CODE_VALUE;
                }
            }
        }
Exemplo n.º 3
0
        public void IngestImages(string LangName, string FontName, string BaseName, string XMLFile, string PathToImages, bool UseSubList)
        {
            XDocument  AletheiaDoc = XDocument.Load(XMLFile);
            XNamespace ns          = "http://schema.primaresearch.org/PAGE/gts/pagecontent/2010-03-19";

            var Extracts = from REC in AletheiaDoc.Descendants(ns + "Glyph")
                           select new
            {
                ID   = (string)(REC.Attribute("id") ?? new XAttribute("id", string.Empty)),
                Char = (string)((REC.Element(ns + "TextEquiv") != null) ? (REC.Element(ns + "TextEquiv").Element(ns + "Unicode") != null)
                    ? REC.Element(ns + "TextEquiv").Element(ns + "Unicode").Value : string.Empty
                    : string.Empty)
            };

            string[] GlyphFiles = System.IO.Directory.GetFiles(PathToImages);

            foreach (var E in Extracts)
            {
                if (E.ID != "" && E.Char.Trim() != "")
                {
                    string ImagePath = "";
                    string FixedChar = E.Char.Trim();
                    if (UseSubList)
                    {
                        FixedChar = FixGlyphChar(FixedChar);
                    }

                    for (int x = 0; x < GlyphFiles.Length; x++)
                    {
                        if (GlyphFiles[x].Replace(PathToImages + "\\", "").Replace(BaseName + "_", "").Replace(".tif", "") == E.ID)
                        {
                            ImagePath = GlyphFiles[x].Replace(db.DataDirectory, "");
                            break;
                        }
                    }

                    if (ImagePath != "")
                    {
                        int gIndex = this.FindGlyph(FixedChar);

                        if (gIndex < 0)
                        {
                            this.AddGlyph(FixedChar, ImagePath);
                        }
                        else
                        {
                            this.Glyphs[gIndex].AddImage(ImagePath);
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
        protected void SetDetail(string aply_No)
        {
            var depts = new List <VW_OA_DEPT>();
            var emps  = new List <V_EMPLY2>();

            _REC = new REC();
            //var sys
            using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities())
            {
                depts = dbINTRA.VW_OA_DEPT.AsNoTracking().Where(x => x.DPT_CD != null).ToList();
                emps  = dbINTRA.V_EMPLY2.AsNoTracking().ToList();
            }
        }
Exemplo n.º 5
0
        protected void SetDetail(string aply_No, string isNTD, string vDep_Type)
        {
            _REC = new REC();

            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                _REC.APLY_NO  = aply_No;
                _REC.CURRENCY = isNTD == "Y" ? "台幣" : "外幣";

                _REC.DEP_TYPE = vDep_Type;

                //_REC.SYS_TYPE = DateTime.Now.DateToTaiwanDate(9);
                _REC.SYS_TYPE = TypeTransfer.dateTimeToString(DateTime.Now, false);

                //取得承作日期
                var _TAR = db.TREA_APLY_REC.AsNoTracking()
                           .FirstOrDefault(x => x.APLY_NO == aply_No);

                if (_TAR != null)
                {
                    //使用單號去其他存取項目檔抓取物品編號
                    var OIAs = db.OTHER_ITEM_APLY.AsNoTracking()
                               .Where(x => x.APLY_NO == _TAR.APLY_NO).Select(x => x.ITEM_ID).ToList();
                    //使用物品編號去定期存單庫存資料檔抓取資料
                    var _IDOM_DataList = db.ITEM_DEP_ORDER_M.AsNoTracking()
                                         .Where(x => OIAs.Contains(x.ITEM_ID)).ToList();

                    _REC.COMMIT_DATE = TypeTransfer.dateTimeToString(_IDOM_DataList
                                                                     .Where(x => x.CURRENCY == "NTD", isNTD == "Y")
                                                                     .Where(x => x.CURRENCY != "NTD", isNTD == "N")
                                                                     .Where(x => x.DEP_TYPE == vDep_Type, vDep_Type != "0")
                                                                     .Select(x => x.COMMIT_DATE).FirstOrDefault(), false);
                    _REC.APLY_STATUS = getStatue(_TAR.APLY_STATUS); //申請狀態
                }
            }
        }
Exemplo n.º 6
0
        public static void GetDocumentoFromMove(int moveId)
        {
            MySqlConnection connection = null;

            connection = new MySqlConnection(ConnectionConfig.connectionString);
            Console.WriteLine(ConnectionConfig.connectionString);
            MySqlCommand command = connection.CreateCommand();

            command.CommandText = "SELECT " +
                                  "it_tmove.Docu_type_ID AS 'TipoDocumento', " +
                                  //Receptor
                                  "fl_tcustomer.TaxExemptNo, " +
                                  "fl_tcustomer.SS_NO, " +
                                  "idtypes.Codigo AS 'Tipo_Doc_Receptor', " +
                                  "Company_Name, " +
                                  "Cust_name, " +
                                  "it_tmove.Move_wic_Value, " +
                                  "it_tmove.Money_Conv, " +
                                  "it_tmove.Ticket_count AS 'IdDocumento', " +
                                  "it_tmove.Move_Date AS 'FechaEmision', " +
                                  "SUM(it_tdetamove.Move_Deta_Tax_Value) AS 'TotalIgv', " +
                                  "SUM(it_tdetamove.Move_Deta_Tax2_Value) AS 'TotalIsc', " +
                                  "SUM((it_tdetamove.Move_Deta_Q * it_tdetamove.Move_Deta_price)) AS 'TotalVenta' " +
                                  "FROM it_tmove " +
                                  "LEFT JOIN fl_tcustomer ON it_tmove.Cust_Id = fl_tcustomer.Cust_ID " +
                                  "INNER JOIN it_tdetamove ON it_tdetamove.Move_Deta_Move_ID = it_tmove.Move_ID " +
                                  "LEFT JOIN idtypes ON idtypes.TYPE_ID =  fl_tcustomer.IDType " +
                                  "WHERE it_tmove.Move_ID = " + moveId + " " +
                                  "GROUP BY NULL;";
            MySqlDataReader Reader;

            Console.WriteLine(command.CommandText);
            connection.Open();
            Reader = command.ExecuteReader();
            int i = 0;

            while (Reader.Read())
            {
                string TipoDocumento     = HelpersDatabase.GetString(Reader, "TipoDocumento");
                string TaxExemptNo       = HelpersDatabase.GetString(Reader, "TaxExemptNo");
                string SS_NO             = HelpersDatabase.GetString(Reader, "SS_NO");
                string Tipo_Doc_Receptor = HelpersDatabase.GetString(Reader, "Tipo_Doc_Receptor");
                string Company_Name      = HelpersDatabase.GetString(Reader, "Company_Name");
                string Cust_name         = HelpersDatabase.GetString(Reader, "Cust_name");

                decimal PrecioUnitario = HelpersDatabase.GetInt(Reader, "Move_wic_Value");
                decimal Money_Conv     = HelpersDatabase.GetInt(Reader, "Money_Conv");
                string  IdDocumento    = HelpersDatabase.GetString(Reader, "IdDocumento");
                string  FechaEmision   = HelpersDatabase.GetDate(Reader, "FechaEmision");
                string  HoraEmision    = HelpersDatabase.GetTime(Reader, "FechaEmision");

                decimal TotalIgv   = Reader.GetInt32("TotalIgv");
                decimal TotalIsc   = Reader.GetInt32("TotalIsc");
                decimal TotalVenta = Reader.GetInt32("TotalVenta");

                string NombreLegal;
                string NroDocumento;

                DetasPlusTaxes detasPlusTaxes = GetDETFromMove(moveId);

                if (string.IsNullOrEmpty(Company_Name) && string.IsNullOrEmpty(TaxExemptNo))
                {
                    NombreLegal  = Cust_name;
                    NroDocumento = SS_NO;
                }
                else
                {
                    NombreLegal  = Company_Name;
                    NroDocumento = TaxExemptNo;
                }

                string Moneda;
                if (PrecioUnitario == 0 && Money_Conv == 0)
                {
                    Moneda = "PEN";
                }
                else
                {
                    Moneda = "USD";
                }

                IDE iDE = new IDE()
                {
                    numeracion       = IdDocumento,
                    fechaEmision     = FechaEmision,
                    horaEmision      = HoraEmision,
                    codTipoDocumento = TipoDocumento,
                    tipoMoneda       = Moneda,
                    //numeroOrdenCompra = "",
                    //fechaVencimiento = "",
                };
                EMI eMI = new EMI()
                {
                    //codigoPais = "",
                    //correoElectronico = "",
                    tipoDocId       = "6",//falta
                    departamento    = Settings.Default.emDepartamento,
                    direccion       = Settings.Default.emDireccion,
                    distrito        = Settings.Default.emDistrito,
                    nombreComercial = Settings.Default.emNombreComercial,
                    numeroDocId     = Settings.Default.emRUC,
                    provincia       = Settings.Default.emProvincia,
                    razonSocial     = Settings.Default.emNombreLegal,
                    //telefono = "",

                    ubigeo       = Settings.Default.emUbigeo,
                    urbanizacion = Settings.Default.emUrbanizacion,
                };
                DRF dRF = new DRF()
                {
                    numeroDocRelacionado = "",
                    tipoDocRelacionado   = "",
                };
                CAB cAB = new CAB()
                {
                    gravadas = new Gravadas()
                    {
                        codigo      = "1002",
                        totalVentas = ""
                    },

                    inafectas = new Inafectas()
                    {
                        codigo      = "1004",
                        totalVentas = ""
                    },
                    importeTotal = TotalVenta.ToString(),
                    leyenda      = new List <Leyenda>()
                    {
                        new Leyenda()
                        {
                            codigo      = "1000",
                            descripcion = Conversores.NumeroALetras(TotalVenta)
                        }
                    },
                    tipoOperacion  = "01",
                    totalImpuestos = new List <TotalImpuesto>()
                    {
                        new TotalImpuesto()
                        {
                            idImpuesto = "1000", montoImpuesto = TotalIgv.ToString()
                        },                                                                             //IGV
                        new TotalImpuesto()
                        {
                            idImpuesto = "2000", montoImpuesto = TotalIsc.ToString()
                        }                                                                             //ISC
                    }
                };

                REC rEC = new REC()
                {
                    //codigoPais = "",
                    //correoElectronico = "",
                    //departamento = "",
                    //direccion = "",
                    //distrito = "",

                    numeroDocId = NroDocumento,
                    //provincia = "",
                    razonSocial = NombreLegal,
                    //telefono = "",
                    tipoDocId = Tipo_Doc_Receptor,
                };
                //GetDETFromMove(moveId),
                string output;
                if (TipoDocumento == "1")
                {
                    Factura fac = new Factura()
                    {
                        IDE = iDE,
                        EMI = eMI,
                        REC = rEC,
                        //DRF = ,
                        CAB = cAB,
                        DET = GetDETFromMove(moveId).DET,
                        //ADI
                    };
                    output = JsonConvert.SerializeObject(fac,
                                                         new JsonSerializerSettings
                    {
                        NullValueHandling = NullValueHandling.Ignore
                    });
                }
                else
                {
                    Boleta bol = new Boleta()
                    {
                        IDE = iDE,
                        EMI = eMI,
                        REC = rEC,
                        //DRF = ,
                        CAB = cAB,
                        DET = GetDETFromMove(moveId).DET,
                        //ADI
                    };
                    output = JsonConvert.SerializeObject(bol,
                                                         new JsonSerializerSettings
                    {
                        NullValueHandling = NullValueHandling.Ignore,
                    });
                }
                Console.WriteLine(output);
            }

            Reader.Close();
        }
Exemplo n.º 7
0
        protected void SetDetail(string aply_No)
        {
            var depts = new List <VW_OA_DEPT>();
            var emps  = new List <V_EMPLY2>();

            _REC = new REC();
            //var sys
            using (DB_INTRAEntities dbINTRA = new DB_INTRAEntities())
            {
                depts = dbINTRA.VW_OA_DEPT.AsNoTracking().Where(x => x.DPT_CD != null).ToList();
                emps  = dbINTRA.V_EMPLY2.AsNoTracking().ToList();
            }
            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                var treaItems = db.TREA_ITEM.AsNoTracking().Where(x => x.ITEM_OP_TYPE == "3").ToList();
                var data      = db.TREA_APLY_REC.AsNoTracking().FirstOrDefault(x => x.APLY_NO == aply_No);
                ////////////Bianco////////////
                var status = db.SYS_CODE.AsNoTracking().Where(x => x.CODE_TYPE == "FORM_STATUS");

                var _dept = new INTRA().getDept(data.APLY_UNIT);
                if (_dept != null)
                {
                    if (_dept.Dpt_type != null)
                    {
                        switch (_dept.Dpt_type.Trim())
                        {
                        case "04":     //科
                            _REC.APLY_DEPT = _dept.UP_DPT_CD?.Trim();
                            _REC.APLY_SECT = _dept.DPT_CD?.Trim();
                            break;

                        case "03":     //部
                        case "02":     //營管
                            _REC.APLY_DEPT = _dept.DPT_CD?.Trim();
                            break;
                        }
                    }
                }
                _REC.APLY_NO              = data.APLY_NO;                                                         //申請單號
                _REC.ACCESS_TYPE          = data.ACCESS_TYPE == "P" ? "存入" : data.ACCESS_TYPE == "G" ? "取出" : ""; //動作 存入/取出
                _REC.APLY_DT              = TypeTransfer.dateTimeNToString(data.CREATE_DT);                       //申請日期
                _REC.ITEM_ID              = treaItems.FirstOrDefault(x => x.ITEM_ID == data.ITEM_ID)?.ITEM_DESC;  //作業項目
                _REC.APLY_UNIT            = getEmpName(depts, data.APLY_UNIT);                                    //權責部門
                _REC.ACCESS_REASON        = data.ACCESS_REASON;                                                   //申請原因
                _REC.EXPECTED_ACCESS_DATE = TypeTransfer.dateTimeNToString(data.EXPECTED_ACCESS_DATE);            //預計存取日期
                //申請單位
                var APLY_APPR = getDeptName(emps, data.APLY_APPR_UID);                                            //覆核人員資料
                _REC.APLY_APPR_UID_UNIT = APLY_APPR.Item1;                                                        //覆核人員單位
                _REC.APLY_APPR_UID      = APLY_APPR.Item2;                                                        //覆核人員名稱
                var APLY = getDeptName(emps, data.APLY_UID);                                                      //申請人員資料
                _REC.APLY_UID_UNIT = APLY.Item1;                                                                  //申請人員單位
                _REC.APLY_UID      = APLY.Item2;                                                                  //申請人員名稱
                //保管單位
                var CUSTODY_APPR = getDeptName(emps, data.CUSTODY_APPR_UID);                                      //覆核人員資料
                _REC.CUSTODY_APPR_UID_UNIT = CUSTODY_APPR.Item1;                                                  //覆核人員單位
                _REC.CUSTODY_APPR_UID      = CUSTODY_APPR.Item2;                                                  //覆核人員名稱
                var CUSTODY = getDeptName(emps, data.CUSTODY_UID);                                                //承辦人員資料
                _REC.CUSTODY_UID_UNIT = CUSTODY.Item1;                                                            //承辦人員單位
                _REC.CUSTODY_UID      = CUSTODY.Item2;                                                            //承辦人員名稱
                _REC.APLY_STATUS      = getStatue(data.APLY_STATUS);                                              //申請狀態
            }
        }