Example #1
0
 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);
        }
Example #3
0
        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);
        }