protected override object[] doService(object[] param) { object[] objArray = new object[] { 0, "存库失败" }; try { if ((param == null) || (param.Length < 2)) { this.loger.Error("单张发票修复发票参数个数不正确,参数个数为:" + param.Length); objArray[0] = 0; objArray[1] = "单张发票修复发票参数个数不正确,参数个数为:" + param.Length; return(objArray); } int length = param.Length; string str = ""; int num2 = 0; string str2 = "6666666"; string str3 = "6666666"; DateTime now = DateTime.Now; if (length >= 1) { str = param[0].ToString(); } if (length >= 2) { num2 = Tool.ObjectToInt(param[1].ToString()); } if (length >= 3) { str2 = param[2].ToString(); } if (length >= 4) { str3 = param[3].ToString(); } if (length >= 5) { now = Tool.ObjectToDateTime(param[4].ToString()); } this.loger.Debug(string.Concat(new object[] { "发票代码:", str, "发票号码:", num2, "syh:", str2, "sxh:", str3 })); InvDetail detail = this.taxCard.QueryInvInfo(str, num2, str2, str3, now); if (this.taxCard.RetCode != 0) { this.loger.Error("单张修复底层读取发票失败,错误号:" + this.taxCard.RetCode); this.loger.Debug(string.Concat(new object[] { "发票代码:", str, "发票号码:", num2, "syh:", str2, "sxh:", str3, "开票日期:", now.ToString() })); objArray[0] = 0; objArray[1] = "单张修复底层读取发票失败,错误号:" + this.taxCard.RetCode; return(objArray); } Fpxx item = null; if (this.taxCard.SoftVersion != "FWKP_V2.0_Svr_Client") { item = new Fpxx(); item.RepairInv(detail, -1); } else { item = Fpxx.DeSeriealize_Linux(ToolUtil.FromBase64String(detail.OldInvNo)); } if (item != null) { List <Fpxx> fpList = new List <Fpxx>(); item.dybz = true; item.xfbz = true; if (item.fplx == (FPLX)0x29) { item.gfdzdh = ""; item.gfyhzh = ""; item.xfdzdh = ""; item.xfyhzh = ""; item.mw = ""; item.kpr = ""; item.fhr = ""; } fpList.Add(item); this.dal.SaveXxfp(fpList); objArray[0] = 1; objArray[1] = ""; this.loger.Error("单张发票修复成功"); return(objArray); } objArray[0] = 0; objArray[1] = "单张发票修复失败"; this.loger.Error("单张发票修复失败"); return(objArray); } catch (Exception exception) { objArray[0] = 0; objArray[1] = exception.ToString(); this.loger.Error("[FPXiuFuSingleShareMethods函数异常]" + exception.ToString()); return(objArray); } }
private List <InvVolume> GetInvStockMonthStat_(int _nYear, int _nMonth) { List <InvVolume> list = new List <InvVolume>(); try { List <InvVolumeApp> invStock = this.taxCard.GetInvStock(); if (invStock == null) { loger.Debug("taxCard.InvoiceStock:Failed"); return(null); } List <InvVolumeApp> list3 = new List <InvVolumeApp>(); List <InvVolumeApp> list4 = new List <InvVolumeApp>(); List <InvVolumeApp> list5 = new List <InvVolumeApp>(); List <InvVolumeApp> list6 = new List <InvVolumeApp>(); List <InvVolumeApp> list7 = new List <InvVolumeApp>(); List <InvVolumeApp> list8 = new List <InvVolumeApp>(); foreach (InvVolumeApp app in invStock) { switch (app.InvType) { case 0: list3.Add(app); break; case 2: list4.Add(app); break; case 11: list5.Add(app); break; case 12: list6.Add(app); break; case 0x29: list8.Add(app); break; case 0x33: list7.Add(app); break; } } int num = Convert.ToInt32(this.taxCard.GetInvCount(_nYear, _nMonth)); for (int i = 0; i < 6; i++) { Dictionary <string, InvVolume> dictionary = new Dictionary <string, InvVolume>(); List <InvVolumeApp> list9 = new List <InvVolumeApp>(); switch (i) { case 0: list9 = list3; break; case 1: list9 = list4; break; case 2: list9 = list5; break; case 3: list9 = list6; break; case 4: list9 = list7; break; case 5: list9 = list8; break; } if (list9.Count != 0) { string key = ""; string s = ""; string typeCode = ""; int num3 = 0; int num4 = 0; int num5 = 0; int num6 = 0; int num7 = 0; int num8 = 0; int num9 = 0; int num10 = 0; int num11 = num; while (num9 < list9.Count) { int num14; InvDetail detail2; s = list9[num9].InvType.ToString(); typeCode = list9[num9].TypeCode; DateTime time = new DateTime(list9[num9].BuyDate.Year, list9[num9].BuyDate.Month, 1); DateTime time2 = new DateTime(_nYear, _nMonth, 1); InvVolume volume = new InvVolume { InvType = (InvoiceType)list9[num9].InvType, TypeCode = typeCode }; if (list9[num9].Status.ToString().Equals("B")) { if (DateTime.Compare(time, time2) < 0) { list9[num9].Status = 'E'; } else if (DateTime.Compare(time, time2) > 0) { num9++; continue; } } if ((!list9[num9].Status.ToString().Equals("B") && !list9[num9].Status.ToString().Equals("C")) && !list9[num9].Status.ToString().Equals("D")) { volume.HeadCode = list9[num9].HeadCode; } uint num12 = 0; if (((list9[num9].BuyNumber.ToString().Trim() != "") && (_nYear == time.Year)) && (_nMonth == time.Month)) { num12 = Convert.ToUInt32(list9[num9].BuyNumber); } if (!list9[num9].Status.ToString().Equals("B")) { volume.EndCode = list9[num9].HeadCode + num12; } key = s + typeCode + "0" + num10.ToString("00") + list9[num9].HeadCode.ToString("D8"); if ((!list9[num9].Status.ToString().Equals("B") && !list9[num9].Status.ToString().Equals("C")) && !list9[num9].Status.ToString().Equals("D")) { if (DateTime.Compare(time, time2) < 0) { volume.PrdThisBuyNum = 0; volume.PrdThisBuyNO = ""; } else if (DateTime.Compare(time, time2) == 0) { volume.PrdThisBuyNum = list9[num9].BuyNumber; volume.PrdThisBuyNO = ((list9[num9].HeadCode - Convert.ToUInt32(list9[num9].BuyNumber)) + Convert.ToUInt32(list9[num9].Number)).ToString("D8"); } else if (DateTime.Compare(time, time2) > 0) { num9++; continue; } if (s.Equals("0")) { this.m_InvHistory = this.m_InvHistoryZY; } else if (s.Equals("2")) { this.m_InvHistory = this.m_InvHistoryPT; } else if (s.Equals("11")) { this.m_InvHistory = this.m_InvHistoryHY; } else if (s.Equals("12")) { this.m_InvHistory = this.m_InvHistoryJDC; } else { int num21 = 0x33; if (s.Equals(num21.ToString())) { this.m_InvHistory = this.m_InvHistoryPTDZ; } } if ((_nYear == this.GetDateTime().Year) && (_nMonth == this.GetDateTime().Month)) { volume.PrdEndStockNum = list9[num9].Number; volume.PrdEndStockNO = list9[num9].HeadCode.ToString("D8"); } else if (this.m_InvHistory.Count > 0) { int num13 = this.m_InvHistory.Count / (list9.Count + 1); volume.PrdEndStockNum = this.m_InvHistory[((list9.Count + 1) * (num13 - 1)) + num9].m_nInvCount; volume.PrdEndStockNO = this.m_InvHistory[((list9.Count + 1) * (num13 - 1)) + num9].m_strInvCode; } else { volume.PrdEndStockNum = 0; volume.PrdEndStockNO = ""; } num14 = 0; if (!this.taxCard.get_IsLargeStorage()) { goto Label_08D8; } int invStockCount = this.taxCard.GetInvStockCount(_nYear, _nMonth); int num16 = 0; int num17 = 0; bool flag = true; while (flag) { if ((invStockCount < 30) || (num17 >= invStockCount)) { num17 = invStockCount - 1; flag = false; } else { num17 = 0x1d; } num11 = this.taxCard.GetStockInvCount(_nYear, _nMonth, num16, num17); num14 = 0; while (num11-- > 0) { InvDetail invDetail = this.taxCard.GetInvDetail((long)num14++); if (((invDetail.InvType.ToString() == s) && invDetail.TypeCode.Equals(list9[num9].TypeCode)) && ((invDetail.Date.Year == _nYear) && (invDetail.Date.Month == _nMonth))) { if (invDetail.CancelFlag) { volume.WasteNum++; volume.WasteNO = volume.WasteNO + invDetail.InvNo.ToString("D8") + " "; } volume.PrdThisIssueNum++; if (volume.PrdThisIssueNO == "") { volume.PrdThisIssueNO = volume.PrdThisIssueNO + invDetail.InvNo.ToString("D8"); } } } num16 += 30; num17 += 30; } } goto Label_08E5; Label_07E3: detail2 = this.taxCard.GetInvDetail((long)num14++); if (((detail2.InvType.ToString() == s) && detail2.TypeCode.Equals(list9[num9].TypeCode)) && ((detail2.Date.Year == _nYear) && (detail2.Date.Month == _nMonth))) { if (detail2.CancelFlag) { volume.WasteNum++; volume.WasteNO = volume.WasteNO + detail2.InvNo.ToString("D8") + " "; } volume.PrdThisIssueNum++; if (volume.PrdThisIssueNO == "") { volume.PrdThisIssueNO = volume.PrdThisIssueNO + detail2.InvNo.ToString("D8"); } } Label_08D8: if (num11-- > 0) { goto Label_07E3; } Label_08E5: if ((list9[num9].Status.ToString().Equals("B") || list9[num9].Status.ToString().Equals("C")) || list9[num9].Status.ToString().Equals("D")) { volume.MistakeNum = list9[num9].Number; volume.MistakeNO = volume.MistakeNO + ((list9[num9].HeadCode - (list9[num9].BuyNumber - list9[num9].BuyNumber))).ToString("D8") + " "; } if ((!list9[num9].Status.ToString().Equals("B") && !list9[num9].Status.ToString().Equals("C")) && !list9[num9].Status.ToString().Equals("D")) { volume.PrdEarlyStockNum = ((volume.PrdEndStockNum - volume.PrdThisBuyNum) + volume.PrdThisIssueNum) + volume.MistakeNum; if (volume.PrdEarlyStockNum != 0) { if (!string.IsNullOrEmpty(volume.PrdEndStockNO)) { volume.PrdEarlyStockNO = (Convert.ToInt32(volume.PrdEndStockNO) - (volume.PrdThisIssueNum + volume.MistakeNum)).ToString("D8"); } } else { volume.PrdEarlyStockNO = ""; } if (volume.PrdEarlyStockNum < 0) { volume.PrdThisIssueNum = -volume.PrdEarlyStockNum; volume.PrdEarlyStockNum = 0; } } num3 += volume.PrdEarlyStockNum; num4 += volume.PrdThisBuyNum; num5 += volume.PrdThisIssueNum; num6 += volume.WasteNum; num7 += volume.MistakeNum; num8 += volume.PrdEndStockNum; if (!dictionary.ContainsKey(key)) { dictionary.Add(key, volume); } num9++; num10++; } if (list9.Count > 0) { InvVolume volume2 = new InvVolume(); num10 = 0; volume2.InvType = (InvoiceType)int.Parse(s); volume2.TypeCode = "小计"; key = s + typeCode + "1" + num10.ToString("00"); volume2.PrdEarlyStockNum = num3; volume2.PrdThisBuyNum = num4; volume2.PrdThisIssueNum = num5; volume2.WasteNum = num6; volume2.MistakeNum = num7; volume2.PrdEndStockNum = num8; volume2.PrdEarlyStockNO = ""; volume2.PrdThisBuyNO = ""; volume2.PrdThisIssueNO = ""; volume2.MistakeNO = ""; volume2.WasteNO = ""; volume2.PrdEndStockNO = ""; if (!dictionary.ContainsKey(key)) { dictionary.Add(key, volume2); } } foreach (KeyValuePair <string, InvVolume> pair in dictionary) { InvVolume item = pair.Value; list.Add(item); if (pair.Value.InvType == null) { InvHistory history = new InvHistory { m_nInvCount = item.PrdEarlyStockNum, m_strInvCode = item.PrdEarlyStockNO }; this.m_InvHistoryZY.Add(history); } if (pair.Value.InvType == 2) { InvHistory history2 = new InvHistory { m_nInvCount = item.PrdEarlyStockNum, m_strInvCode = item.PrdEarlyStockNO }; this.m_InvHistoryPT.Add(history2); } if (pair.Value.InvType == 11) { InvHistory history3 = new InvHistory { m_nInvCount = item.PrdEarlyStockNum, m_strInvCode = item.PrdEarlyStockNO }; this.m_InvHistoryHY.Add(history3); } if (pair.Value.InvType == 12) { InvHistory history4 = new InvHistory { m_nInvCount = item.PrdEarlyStockNum, m_strInvCode = item.PrdEarlyStockNO }; this.m_InvHistoryJDC.Add(history4); } if (pair.Value.InvType == 0x33) { InvHistory history5 = new InvHistory { m_nInvCount = item.PrdEarlyStockNum, m_strInvCode = item.PrdEarlyStockNO }; this.m_InvHistoryPTDZ.Add(history5); } if (pair.Value.InvType == 0x29) { InvHistory history6 = new InvHistory { m_nInvCount = item.PrdEarlyStockNum, m_strInvCode = item.PrdEarlyStockNO }; this.m_InvHistoryJSFP.Add(history6); } } } } } catch (Exception exception) { throw exception; } return(list); }
public bool setValue(Dictionary <string, object> dict) { try { this.lbl_FpDm.Text = "发票代码:"; this.lbl_FpHm.Text = "发票号码:"; this.lbl_KpRq.Text = "开票日期:"; this.lbl_GfSh.Text = "购方税号:"; this.lbl_XfSh.Text = "销方税号:"; this.lbl_JE.Text = "金 额:"; this.lbl_SE.Text = "税 额:"; this.lbl_ZfBz.Text = "作废标志:"; this.lbl_BSZT.Text = "报送状态:"; if (base.TaxCardInstance.QYLX.ISTDQY) { this.lbl_BSZT.Visible = false; } if (dict.Count <= 0) { base.Close(); this.loger.Error("发票种类、发票代码、发票号码传入失败。"); MessageManager.ShowMsgBox("FPCX-000022"); return(false); } if ((!dict.ContainsKey("lbl_FpHm") || !dict.ContainsKey("lbl_FpDm")) || ((!dict.ContainsKey("lbl_DZSYH") || !dict.ContainsKey("lbl_KPSXH")) || !dict.ContainsKey("lbl_KpRq"))) { base.Close(); this.loger.Error("发票种类、发票代码、发票号码传入失败。"); MessageManager.ShowMsgBox("FPCX-000022"); return(false); } InvDetail detail = base.TaxCardInstance.QueryInvInfo(dict["lbl_FpDm"].ToString(), Aisino.Fwkp.Fpkj.Common.Tool.ObjectToInt(dict["lbl_FpHm"]), dict["lbl_DZSYH"].ToString(), dict["lbl_KPSXH"].ToString(), Aisino.Fwkp.Fpkj.Common.Tool.ObjectToDateTime(dict["lbl_KpRq"])); if (base.TaxCardInstance.RetCode != 0) { MessageManager.ShowMsgBox(base.TaxCardInstance.ErrCode); return(false); } Fpxx fpxx = null; if (base.TaxCardInstance.SoftVersion != "FWKP_V2.0_Svr_Client") { fpxx = new Fpxx(); fpxx.RepairInv(detail, -1); } else if (base.TaxCardInstance.SubSoftVersion != "Linux") { fpxx = (Fpxx)SerializeUtil.Deserialize(ToolUtil.FromBase64String(detail.OldInvNo)); } else { fpxx = Fpxx.DeSeriealize_Linux(ToolUtil.FromBase64String(detail.OldInvNo)); } if ((detail.TypeCode == "") && (detail.InvNo == 0)) { MessageManager.ShowMsgBox("FPCX-000031", new string[] { dict["lbl_FpDm"].ToString(), ShareMethods.FPHMTo8Wei(dict["lbl_FpHm"].ToString()) }); return(false); } if (!string.IsNullOrEmpty(detail.TypeCode)) { this.lbl_FpDm.Text = this.lbl_FpDm.Text + detail.TypeCode.Trim(); } this.lbl_FpHm.Text = this.lbl_FpHm.Text + ShareMethods.FPHMTo8Wei(detail.InvNo); if (((int)fpxx.fplx == 2) && ((int)fpxx.Zyfplx == 9)) { if (!string.IsNullOrEmpty(detail.SaleTaxCode)) { this.lbl_GfSh.Text = this.lbl_GfSh.Text + detail.SaleTaxCode.Trim(); } if (!string.IsNullOrEmpty(detail.BuyTaxCode)) { this.lbl_XfSh.Text = this.lbl_XfSh.Text + detail.BuyTaxCode.Trim(); } } else { if (!string.IsNullOrEmpty(detail.BuyTaxCode)) { if ((detail.InvType == 12) && !fpxx.isNewJdcfp) { if (fpxx.sfzhm.Length > 0) { this.lbl_GfSh.Text = "身份证号码/组织机构代码:" + fpxx.sfzhm; } else { this.lbl_GfSh.Text = "身份证号码/组织机构代码:" + new string('0', 15); } } else { this.lbl_GfSh.Text = this.lbl_GfSh.Text + detail.BuyTaxCode.Trim(); } } if (!string.IsNullOrEmpty(detail.SaleTaxCode)) { this.lbl_XfSh.Text = this.lbl_XfSh.Text + detail.SaleTaxCode.Trim(); } } DateTime date = detail.Date; this.lbl_KpRq.Text = this.lbl_KpRq.Text + detail.Date.ToString("yyyy年MM月dd日"); this.lbl_JE.Text = this.lbl_JE.Text + Convert.ToString(detail.Amount.ToString("0.00")); this.lbl_SE.Text = this.lbl_SE.Text + Convert.ToString(detail.Tax.ToString("0.00")); if (detail.CancelFlag) { this.lbl_ZfBz.Text = this.lbl_ZfBz.Text + "是"; } else { this.lbl_ZfBz.Text = this.lbl_ZfBz.Text + "否"; } string str = "未报送"; switch (fpxx.bszt) { case 0: str = "未报送"; break; case 1: str = "已报送"; break; case 2: str = "报送失败"; break; case 3: str = "报送中"; break; case 4: str = "验签失败"; break; default: str = "未报送"; break; } this.lbl_BSZT.Text = this.lbl_BSZT.Text + str; } catch (Exception exception) { this.loger.Error(exception.Message); MessageManager.ShowMsgBox(exception.Message); return(false); } return(true); }