public string[] GetCurrent(FPLX fplx) { string str = ""; try { TaxCard card = TaxCardFactory.CreateTaxCard(); int num = int.Parse(Enum.Format(typeof(FPLX), fplx, "d")); InvCodeNum currentInvCode = card.GetCurrentInvCode(fplx); if ((currentInvCode.InvTypeCode == null) || (currentInvCode.InvNum == null)) { str = card.get_ErrCode(); if (str.StartsWith("TCD_768") || str.StartsWith("TCD_769")) { FormMain.CallUpload(); } return(null); } if (currentInvCode.InvTypeCode.Equals("0000000000")) { str = "INP-242104"; return(null); } str = "000000"; return(new string[] { currentInvCode.InvTypeCode, currentInvCode.InvNum }); } catch (Exception exception) { this.log.Error("读取当前发票代码号码时异常:" + exception.ToString()); str = "9999"; return(null); } }
public static bool ParseAllocateOutput(XmlDocument doc, out bool isDeviceError, out string msg) { try { new InvVolumeApp(); XmlNode node = doc.SelectSingleNode("//CODE"); XmlNode node2 = doc.SelectSingleNode("//MESS"); if (!node.InnerText.Equals("0000")) { isDeviceError = false; msg = node2.InnerText; return(false); } byte[] buffer = Convert.FromBase64String(doc.SelectSingleNode("//FPJJSMW").InnerText); TaxCardInstance.NInvWriteConfirmFromMain(buffer, buffer.Length); if (TaxCardInstance.get_RetCode() != 0) { isDeviceError = true; msg = TaxCardInstance.get_ErrCode(); return(false); } isDeviceError = false; msg = string.Empty; return(true); } catch (BaseException exception) { loger.Error(exception.Message); ExceptionHandler.HandleError(exception); isDeviceError = false; msg = exception.Message; return(false); } catch (Exception exception2) { loger.Error(exception2.Message); ExceptionHandler.HandleError(exception2); isDeviceError = false; msg = exception2.Message; return(false); } }
public BaseForm RunCommand() { TaxCard card = TaxCardFactory.CreateTaxCard(); TaxStateInfo stateInfo = card.GetStateInfo(false); if (card.get_RetCode() > 0) { MessageManager.ShowMsgBox(card.get_ErrCode()); return(null); } if (stateInfo.MachineNumber != card.get_Machine()) { MessageManager.ShowMsgBox("INP-252101"); return(null); } if (card.get_ECardType() == 3) { return(new JSPStateQuery()); } return(new JSKStateQuery()); }
protected override object[] doService(object[] param) { TaxCard card = TaxCardFactory.CreateTaxCard(); List <InvVolumeApp> invStock = new List <InvVolumeApp>(); invStock = card.GetInvStock(); XmlDocument document = new XmlDocument(); XmlDeclaration newChild = document.CreateXmlDeclaration("1.0", "GBK", null); document.PreserveWhitespace = false; document.AppendChild(newChild); XmlElement element = document.CreateElement("FPXT"); document.AppendChild(element); XmlElement element2 = document.CreateElement("OUTPUT"); element.AppendChild(element2); if (card.get_RetCode() == 0) { XmlElement element3 = document.CreateElement("CODE"); element3.InnerText = "0000"; element2.AppendChild(element3); XmlElement element4 = document.CreateElement("MESS"); element4.InnerText = string.Empty; element2.AppendChild(element4); XmlElement element5 = document.CreateElement("DATA"); element2.AppendChild(element5); if (invStock != null) { foreach (InvVolumeApp app in invStock) { XmlElement element6 = document.CreateElement("FPMX"); element2.AppendChild(element6); XmlElement element7 = document.CreateElement("FPZL"); element7.InnerText = app.InvType.ToString(); element6.AppendChild(element7); XmlElement element8 = document.CreateElement("LBDM"); element8.InnerText = app.TypeCode; element6.AppendChild(element8); XmlElement element9 = document.CreateElement("QSHM"); element9.InnerText = app.HeadCode.ToString(); element6.AppendChild(element9); XmlElement element10 = document.CreateElement("FPFS"); element10.InnerText = app.Number.ToString(); element6.AppendChild(element10); XmlElement element11 = document.CreateElement("GMRQ"); element11.InnerText = app.BuyDate.ToString("yyyy-MM-dd"); element6.AppendChild(element11); } } } else { XmlElement element12 = document.CreateElement("CODE"); element12.InnerText = card.get_ErrCode(); element2.AppendChild(element12); XmlElement element13 = document.CreateElement("MESS"); element13.InnerText = MessageManager.GetMessageInfo(card.get_ErrCode()); element2.AppendChild(element13); } document.PreserveWhitespace = true; return(new object[] { document.InnerXml }); }
protected override void RunCommand() { RemoteReport report = new RemoteReport(); TaxCard card = TaxCardFactory.CreateTaxCard(); card.get_TaxClock().ToString("yyyyMM"); if (report.CheckStatus()) { if (report.ISZP) { report.ProcessMsg(FPZL.ZP, OPTYPE.ZPCB); if (report.ISCBZP) { PropertyUtil.SetValue(AttributeName.ZPCSDateName, report.dtZPLastCSDate.ToString("yyyyMM")); } } if (report.ISHY) { report.ProcessMsg(FPZL.HY, OPTYPE.HYCB); if (report.ISCBHy) { PropertyUtil.SetValue(AttributeName.HYCSDateName, report.dtHYLastCSDate.ToString("yyyyMM")); } } if (report.ISJDC) { report.ProcessMsg(FPZL.JDC, OPTYPE.JDCCB); if (report.ISCBJDC) { PropertyUtil.SetValue(AttributeName.JDCCSDateName, report.dtJDCLastCSDate.ToString("yyyyMM")); } } if (report.ISJSP) { report.ProcessMsg(FPZL.JSFP, OPTYPE.JSPCB); if (report.ISCBJSFP) { PropertyUtil.SetValue(AttributeName.JSPCSDateName, report.dtJSPLastCSDate.ToString("yyyyMM")); } } PropertyUtil.Save(); if ((report.ISCBZP && report.ISCBHy) && (report.ISCBJDC && report.ISCBJSFP)) { MessageManager.ShowMsgBox("YC0003"); } else if ((card.get_RetCode() == 250) || (card.get_RetCode() == 0x309)) { MessageManager.ShowMsgBox(card.get_ErrCode()); } else { string str = "本次上报汇总情况如下:\r\n"; if (card.get_QYLX().ISPTFP || card.get_QYLX().ISZYFP) { if (!report.ISCBZP) { if ((card.get_QYLX().ISPTFP || card.get_QYLX().ISZYFP) && (card.get_QYLX().ISPTFPDZ&& (card.get_InvEleKindCode() == 0x3d))) { str = str + "(" + report.dtZPLastCSDate.ToString("yyyy年MM月") + "份征期)增值税专普票及电子增值税普通发票抄报失败原因:"; } else if ((card.get_QYLX().ISPTFP || card.get_QYLX().ISZYFP) && (!card.get_QYLX().ISPTFPDZ || (card.get_QYLX().ISPTFPDZ&& (card.get_InvEleKindCode() == 0x33)))) { str = str + "(" + report.dtZPLastCSDate.ToString("yyyy年MM月") + "份征期)增值税专普票抄报失败原因:"; } else if ((!card.get_QYLX().ISPTFP&& !card.get_QYLX().ISZYFP) && (card.get_QYLX().ISPTFPDZ&& (card.get_InvEleKindCode() == 0x3d))) { str = str + "(" + report.dtZPLastCSDate.ToString("yyyy年MM月") + "份征期)电子增值税普通发票抄报失败原因:"; } str = str + report.CBZPMESS + "\r\n"; } else { if ((card.get_QYLX().ISPTFP || card.get_QYLX().ISZYFP) && (card.get_QYLX().ISPTFPDZ&& (card.get_InvEleKindCode() == 0x3d))) { str = str + "(" + report.dtZPLastCSDate.ToString("yyyy年MM月") + "份征期)增值税专普票及电子增值税普通发票抄报成功:"; } else if ((card.get_QYLX().ISPTFP || card.get_QYLX().ISZYFP) && (!card.get_QYLX().ISPTFPDZ || (card.get_QYLX().ISPTFPDZ&& (card.get_InvEleKindCode() == 0x33)))) { str = str + "(" + report.dtZPLastCSDate.ToString("yyyy年MM月") + "份征期)增值税专普票抄报成功:"; } else if ((!card.get_QYLX().ISPTFP&& !card.get_QYLX().ISZYFP) && (card.get_QYLX().ISPTFPDZ&& (card.get_InvEleKindCode() == 0x3d))) { str = str + "(" + report.dtZPLastCSDate.ToString("yyyy年MM月") + "份征期)电子增值税普通发票抄报成功:"; } str = str + report.CBZPMESS + "\r\n"; } } if (card.get_QYLX().ISHY) { if (!report.ISCBHy) { str = (str + "(" + report.dtHYLastCSDate.ToString("yyyy年MM月") + "份征期)货物运输业增值税专用发票抄报失败原因:") + report.CBHYMESS + "\r\n"; } else if (card.get_QYLX().ISHY) { str = (str + "(" + report.dtHYLastCSDate.ToString("yyyy年MM月") + "份征期)货物运输业增值税专用发票抄报成功:") + report.CBHYMESS + "\r\n"; } } if (card.get_QYLX().ISJDC || card.get_QYLX().ISPTFPDZ) { if (card.get_QYLX().ISJDC) { if (!str.Contains("机动车")) { str = str + "(" + report.dtJDCLastCSDate.ToString("yyyy年MM月") + "份征期)机动车销售统一发票"; } else { str = str + "及机动车销售统一发票"; } } if (card.get_QYLX().ISPTFPDZ&& (card.get_InvEleKindCode() == 0x33)) { if (!str.Contains("机动车")) { str = str + "(" + report.dtJDCLastCSDate.ToString("yyyy年MM月") + "份征期)电子增值税普通发票"; } else { str = str + "及电子增值税普通发票"; } } if (!report.ISCBJDC) { str = (str + "抄报失败原因:") + report.CBJDCMESS + "\r\n"; } else { str = (str + "抄报成功:") + report.CBJDCMESS + "\r\n"; } } if (card.get_QYLX().ISPTFPJSP) { if (!report.ISCBJSFP) { if (card.get_QYLX().ISPTFPJSP) { str = (str + "(" + report.dtJSPLastCSDate.ToString("yyyy年MM月") + "份征期)增值税普通发票(卷票)抄报失败原因:") + report.CBJSPMESS + "\r\n"; } } else if (card.get_QYLX().ISPTFPJSP) { str = (str + "(" + report.dtJSPLastCSDate.ToString("yyyy年MM月") + "份征期)增值税普通发票(卷票)抄报成功:") + report.CBJSPMESS + "\r\n"; } } MessageManager.ShowMsgBox("YC0004", new string[] { str }); } } }
protected override object[] doService(object[] param) { TaxCard card = TaxCardFactory.CreateTaxCard(); List <InvVolumeApp> list = new List <InvVolumeApp>(); List <int> list2 = new List <int>(); bool flag = false; bool flag2 = true; bool isDeviceError = false; string msg = string.Empty; InvoiceType typeCode = (InvoiceType)ShareMethods.GetTypeCode(param[1].ToString()); if (((0x33 == typeCode) || (11 == typeCode)) || (0x29 == typeCode)) { flag = true; msg = "待分配发票类型有误"; } if (!flag) { UnlockInvoice unlockVolume = card.NInvSearchUnlockFromMain(); if (card.get_RetCode() != 0) { flag2 = false; isDeviceError = true; msg = card.get_ErrCode(); } else { bool flag4 = DownloadCommon.CheckEmpty(unlockVolume.Buffer); string str2 = ""; if (!flag4) { str2 = unlockVolume.get_Number().PadLeft(8, '0'); InvVolumeApp item = new InvVolumeApp(); flag2 = AllocateCommon.AllocateOneVolume(unlockVolume, out isDeviceError, out msg); if (flag2) { item.InvType = Convert.ToByte(unlockVolume.get_Kind()); item.TypeCode = unlockVolume.get_TypeCode(); item.HeadCode = Convert.ToUInt32(unlockVolume.get_Number()); item.Number = Convert.ToUInt16(unlockVolume.get_Count()); list.Add(item); list2.Add(unlockVolume.get_Machine()); } } bool flag5 = false; if (Convert.ToInt32(param[3].ToString()).ToString("00000000") == str2) { flag5 = true; } if (flag2 && !flag5) { InvVolumeApp app2 = new InvVolumeApp(); string str3 = param[2].ToString(); long num = Convert.ToInt64(param[3].ToString()); long num2 = Convert.ToInt64(param[4].ToString()); InvoiceType type2 = (InvoiceType)ShareMethods.GetTypeCode(param[1].ToString()); int num3 = Convert.ToInt32(param[0].ToString()); UnlockInvoice invoice2 = card.NInvAllotToSubMachine(str3, num, num2, type2, num3); if (card.get_RetCode() != 0) { flag2 = false; isDeviceError = true; msg = card.get_ErrCode(); } else { flag2 = AllocateCommon.AllocateOneVolume(invoice2, out isDeviceError, out msg); if (flag2) { app2.InvType = Convert.ToByte(invoice2.get_Kind()); app2.TypeCode = invoice2.get_TypeCode(); app2.HeadCode = Convert.ToUInt32(invoice2.get_Number()); app2.Number = Convert.ToUInt16(invoice2.get_Count()); list.Add(app2); list2.Add(invoice2.get_Machine()); } } } } } XmlDocument document = new XmlDocument(); XmlDeclaration newChild = document.CreateXmlDeclaration("1.0", "GBK", null); document.PreserveWhitespace = false; document.AppendChild(newChild); XmlElement element = document.CreateElement("FPXT"); document.AppendChild(element); XmlElement element2 = document.CreateElement("OUTPUT"); element.AppendChild(element2); XmlElement element3 = document.CreateElement("CODE"); XmlElement element4 = document.CreateElement("MESS"); if (flag) { element3.InnerText = "0002"; element4.InnerText = msg; } else if (flag2) { element3.InnerText = "0000"; element4.InnerText = string.Empty; } else if (isDeviceError) { element3.InnerText = msg; element4.InnerText = MessageManager.GetMessageInfo(msg); } else { element3.InnerText = "0001"; element4.InnerText = msg; } element2.AppendChild(element3); element2.AppendChild(element4); if (list.Count > 0) { for (int i = 0; i < list.Count; i++) { XmlElement element5 = document.CreateElement("FPJFP"); element2.AppendChild(element5); XmlElement element6 = document.CreateElement("FKPJH"); element6.InnerText = list2[i].ToString(); element5.AppendChild(element6); XmlElement element7 = document.CreateElement("FPZL"); element7.InnerText = list[i].InvType.ToString(); element5.AppendChild(element7); XmlElement element8 = document.CreateElement("LBDM"); element8.InnerText = list[i].TypeCode; element5.AppendChild(element8); XmlElement element9 = document.CreateElement("QSHM"); element9.InnerText = list[i].HeadCode.ToString(); element5.AppendChild(element9); XmlElement element10 = document.CreateElement("FPFS"); element10.InnerText = list[i].Number.ToString(); element5.AppendChild(element10); } } document.PreserveWhitespace = true; return(new object[] { document.InnerXml }); }