/// <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()); }
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; } } }
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); } } } } }
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(); } }
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); //申請狀態 } } }
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(); }
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); //申請狀態 } }