Пример #1
0
 public string GetApplyRemark(object FormRDApplyDetailID)
 {
     if (FormRDApplyDetailID.ToString() != string.Empty) {
         int id = Convert.ToInt32(FormRDApplyDetailID);
         FormDS.FormRDApplyDetailRow row = new FormRDBLL().GetFormRDApplyDetailByID(id);
         if (row.IsRemarkNull()) {
             return null;
         } else {
             return row.Remark;
         }
     } else {
         return null;
     }
 }
Пример #2
0
 public static bool CheckPeriod(int FormID)
 {
     FormDS.FormRow rowForm = new FormSaleBLL().GetFormByID(FormID)[0];
     DateTime Period = DateTime.Now;
     switch (rowForm.FormTypeID) {
         case (int)SystemEnums.FormType.FormMarketingApply:
             Period = new FormMarketingBLL().GetFormMarketingApplyByID(rowForm.FormID)[0].FPeriod;
             break;
         case (int)SystemEnums.FormType.RDApply:
             Period = new FormRDBLL().GetFormRDApplyByID(rowForm.FormID)[0].FPeriod;
             break;
         case (int)SystemEnums.FormType.SaleApply:
             Period = new FormSaleBLL().GetFormSaleApplyByID(rowForm.FormID)[0].FPeriod;
             break;
     }
     MasterData.PeriodSaleDataTable tbPeriodSale = new MasterDataBLL().GetPeriodSale();
     foreach (var rowPeriodSale in tbPeriodSale) {
         if (rowPeriodSale.PeriodSale == Period) {
             return false;
         }
     }
     return true;
 }
Пример #3
0
        /// <summary>
        /// MAA R&D
        /// </summary>
        /// <param name="FormID"></param>
        /// <returns></returns>
        private bool ExportRDDataByFormID(int FormID, int logId)
        {
            ExportDataDS.ExportDataDataTable l_dtExportData = new ExportDataDS.ExportDataDataTable();
            FormDS.FormRDPaymentRow l_drFormRDPayment = new FormDS.FormRDPaymentDataTable().NewFormRDPaymentRow();
            MasterDataBLL masterdatabll = new MasterDataBLL();
            FormRDBLL formrdbll = new FormRDBLL();
            FormPurchaseBLL formPurchaseBLL = new FormPurchaseBLL();
            int Count = 0;
            FormDS.FormDataTable l_dtform = formrdbll.GetFormByID(FormID);
            FormDS.FormRow l_drform = l_dtform.NewFormRow();
            try {

                if (l_dtform.Rows.Count > 0) {
                    l_drform = l_dtform[0];
                    if (l_drform.IsFinanceRemarkNull()) {
                        logbll.InsertExportLogDetail(logId, "单据编号:" + l_drform.FormNo + ",提交人:" + new StuffUserBLL().GetStuffUserById(l_drform.UserID)[0].StuffName + ",错误信息:财务摘要为空,导出失败!");
                        return false;
                    }
                    l_drFormRDPayment = formrdbll.GetFormRDPaymentByID(l_drform.FormID);
                    FormDS.FormRDPaymentDetailDataTable l_dtFormRDPaymentDetail = formrdbll.GetFormRDPaymentDetailByPaymentID(FormID);
                    for (int i = 0; i < l_dtFormRDPaymentDetail.Rows.Count; i++) {
                        if (l_dtFormRDPaymentDetail[i].AmountBeforeTax == Decimal.Zero) {
                            Count++;
                            continue;
                        }
                        //PurchaseDS.FormInvoiceDataTable l_dtFormInvoice = formPurchaseBLL.GetFormInvoiceByFormID(FormID);
                        ExportDataDS.ExportDataRow l_drExportData = l_dtExportData.NewExportDataRow();
                        l_drExportData.FormID = FormID;
                        l_drExportData.CompanyCode = masterdatabll.GetCompanyById(masterdatabll.GetVendorTypeById(masterdatabll.GetVendorByID(l_dtFormRDPaymentDetail[i].VendorID).VendorTypeID).CompanyID).CompanyCode;
                        l_drExportData.VendorCode = masterdatabll.GetVendorByID(l_dtFormRDPaymentDetail[i].VendorID).VendorCode;

                        if (l_drExportData.IsVendorCodeNull() || string.IsNullOrEmpty(l_drExportData.VendorCode)) {
                            logbll.InsertExportLogDetail(logId, "单据编号:" + l_drform.FormNo + ",提交人:" + new StuffUserBLL().GetStuffUserById(l_drform.UserID)[0].StuffName + ",错误信息:Vendor Code为空,无法导出!");
                            return false;
                        }
                        //发票号码改为单据编号,单据编号变为10位
                        l_drExportData.Invoice = l_drform.FormNo;
                        l_drExportData.Invoicedate = l_drform.SubmitDate.ToString("yyyyMMdd");

                        //if (l_dtFormInvoice.Rows.Count > 1)
                        //    l_drExportData.Reference = l_dtFormInvoice[1].InvoiceNo;
                        //if (l_dtFormInvoice.Rows.Count > 0) {
                        //    l_drExportData.Invoice = l_dtFormInvoice[0].InvoiceNo;
                        //    l_drExportData.Invoicedate = l_dtFormInvoice[0].InvoiceDate.ToString("yyyyMMdd");
                        //} else {
                        //    l_drExportData.Invoice = l_drform.FormNo;
                        //    l_drExportData.Invoicedate = l_drform.SubmitDate.ToString("yyyyMMdd");
                        //}
                        l_drExportData.TotalMoney = l_drFormRDPayment.AmountBeforeTaxRMB;
                        //l_drExportData.Currency = masterdatabll.GetCurrencyByID(formmarkbll.GetFormMarketingApplyByID(l_drMarketingPayment.FormMarketingApplyID)[0].CurrencyID).CurrencyShortName;
                        //l_drExportData.ExchangeRate = formmarkbll.GetFormMarketingApplyByID(l_drMarketingPayment.FormMarketingApplyID)[0].ExchangeRate;
                        l_drExportData.ManageExpenseItem = masterdatabll.GetExpenseItemById(l_dtFormRDPaymentDetail[i].ExpenseItemID).ExpenseItemName;
                        //profit center取AccrualCode,如果没有报错
                        if (masterdatabll.GetCostCenterById(l_drform.CostCenterID).IsAccrualCodeNull()) {
                            logbll.InsertExportLogDetail(logId, "单据编号:" + l_drform.FormNo + ",提交人:" + new StuffUserBLL().GetStuffUserById(l_drform.UserID)[0].StuffName + ",错误信息:Profit Center Accrual Code为空,无法导出!");
                            return false;
                        } else {
                            l_drExportData.CostCenter = masterdatabll.GetCostCenterById(l_drform.CostCenterID).AccrualCode;
                        }

                        if (formrdbll.GetFormRDApplyByID(l_drFormRDPayment.FormRDApplyID)[0].FPeriod.AddMonths(5).Year == l_drform.SubmitDate.AddMonths(5).Year)
                            l_drExportData.AccountCode = masterdatabll.GetExpenseItemById(l_dtFormRDPaymentDetail[i].ExpenseItemID).AccrualAccountingCode;
                        else
                            l_drExportData.AccountCode = masterdatabll.GetExpenseItemById(l_dtFormRDPaymentDetail[i].ExpenseItemID).LastAccountingCode;

                        l_drExportData.DetailMoney = l_dtFormRDPaymentDetail[i].AmountBeforeTax;

                        if (l_drFormRDPayment.IsFormPOIDNull()) {
                            //PurchaseDS.FormPODataTable formPO = formPurchaseBLL.GetFormPOByParentFormID(l_drFormRDPayment.FormRDApplyID);
                            //if (formPO.Rows.Count > 0) {
                            //    l_drExportData.PONumber = formPO[0].BPCSPONo;
                            //    PurchaseDS.FormPODetailDataTable formPODetail = formPurchaseBLL.GetPODetailByFormPOID(formPO[0].FormPOID);
                            //    l_drExportData.POLineNumber = formPODetail.Rows.Count.ToString();
                            //} else {
                            l_drExportData.PONumber = 0;
                            l_drExportData.POLineNumber = "0";
                            //}
                        } else {
                            //若已选择PO,取所选PO信息
                            PurchaseDS.FormPORow formPO = formPurchaseBLL.GetFormPOByID(l_drFormRDPayment.FormPOID);
                            PurchaseDS.FormPODetailDataTable formPODetail = formPurchaseBLL.GetPODetailByFormPOID(l_drFormRDPayment.FormPOID);
                            l_drExportData.PONumber = formPO.BPCSPONo;
                            l_drExportData.POLineNumber = formPODetail.Count.ToString();
                        }
                        l_drExportData.FinanceRemark = l_drform.FinanceRemark;
                        l_drExportData.FormNo = l_drform.FormNo;
                        l_drExportData.TaxAmt = l_dtFormRDPaymentDetail[i].TaxAmount;
                        l_drExportData.TaxRateCode = masterdatabll.GetVatTypeById(l_drFormRDPayment.VATTypeID)[0].VatTypeName;
                        l_dtExportData.AddExportDataRow(l_drExportData);
                        Count++;
                    }
                    if (l_dtExportData.Rows.Count == 0) {
                        logbll.InsertExportLogDetail(logId, "单据编号:" + l_drform.FormNo + ",提交人:" + new StuffUserBLL().GetStuffUserById(l_drform.UserID)[0].StuffName + ",错误信息:无明细数据,无法导出!");
                        return false;
                    }
                    if (l_dtFormRDPaymentDetail.Rows.Count == Count)
                        ExportByFormView(l_dtExportData);
                    else {
                        logbll.InsertExportLogDetail(logId, "单据编号:" + l_drform.FormNo + ",提交人:" + new StuffUserBLL().GetStuffUserById(l_drform.UserID)[0].StuffName + ",错误信息:明细数据与导出数据数量不一致!");
                        return false;
                    }
                }
            } catch (Exception e) {
                logbll.InsertExportLogDetail(logId, "单据编号:" + l_drform.FormNo + ",提交人:" + new StuffUserBLL().GetStuffUserById(l_drform.UserID)[0].StuffName + ",错误信息:" + e.Message);
                return false;
            }
            return true;
        }
Пример #4
0
        private void ExportData()
        {
            string FileName = ConfigurationManager.AppSettings["ExportService.FileName"];
            string ExportHour = ConfigurationManager.AppSettings["ExportService.hour"];
            string BakPath = ConfigurationManager.AppSettings["ExportService.BakPath"];

            ExportDate = DateTime.Now;

            path = ConfigurationManager.AppSettings["ExportService.Path"].ToString();
            bool Export = true;
            if (Export) {
                FormRDBLL formrdbll = new FormRDBLL();
                FormPurchaseBLL formPurchaseBLL = new FormPurchaseBLL();
                FormQueryBLL formquerybll = new FormQueryBLL();
                FormMarketingBLL formmarkbll = new FormMarketingBLL();
                FormSaleBLL formsalebll = new FormSaleBLL();
                QueryDS.FormViewDataTable l_dtformview = formquerybll.GetPagedFormView(" Form.StatusID=2 and (Form.IsExportLock='false' or Form.IsExportLock is null) AND Form.FormTypeID=4 ", 0, Int32.MaxValue, "Form.SubmitDate");
                //个人
                int logId = logbll.InsertExportLog(1, FileName, 0, 0, 0, 0);
                int SuccessCount = 0;
                int FailCount = 0;
                int TotalCount = l_dtformview.Rows.Count;
                foreach (QueryDS.FormViewRow l_drformview in l_dtformview) {
                    if (ExportPersonalReimburseDataByFormID(l_drformview.FormID, logId)) {
                        UpdateFormbyID(l_drformview.FormID, true);
                        SuccessCount++;
                    } else {
                        UpdateFormbyID(l_drformview.FormID, false);
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);

                //差旅费
                logId = logbll.InsertExportLog(2, FileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                l_dtformview = formquerybll.GetPagedFormView("Form.StatusID=2 and (Form.IsExportLock='false' or Form.IsExportLock is null) AND Form.FormTypeID =1 ", 0, Int32.MaxValue, "SubmitDate");
                TotalCount = l_dtformview.Rows.Count;
                foreach (QueryDS.FormViewRow l_drformview in l_dtformview) {
                    if (ExportTravelReimburseDataByFormID(l_drformview.FormID, logId)) {
                        UpdateFormbyID(l_drformview.FormID, true);
                        SuccessCount++;
                    } else {
                        UpdateFormbyID(l_drformview.FormID, false);
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);

                //pv
                logId = logbll.InsertExportLog(3, FileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                l_dtformview = formquerybll.GetPagedFormView("Form.StatusID=2 and (Form.IsExportLock='false' or Form.IsExportLock is null) AND Form.FormTypeID =24 ", 0, Int32.MaxValue, "SubmitDate");
                TotalCount = l_dtformview.Rows.Count;
                foreach (QueryDS.FormViewRow l_drformview in l_dtformview) {
                    if (ExportPVDataByFormID(l_drformview.FormID, logId)) {
                        UpdateFormbyID(l_drformview.FormID, true);
                        SuccessCount++;
                    } else {
                        UpdateFormbyID(l_drformview.FormID, false);
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);

                //sale
                logId = logbll.InsertExportLog(4, FileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                l_dtformview = formquerybll.GetPagedFormView("Form.StatusID=2 and (Form.IsExportLock='false' or Form.IsExportLock is null)  AND Form.FormTypeID in (13,14) and Form.FormID  in (select FormSalePaymentID from FormSalePayment where PaymentTypeID = 1)", 0, Int32.MaxValue, "SubmitDate");
                TotalCount = l_dtformview.Rows.Count;
                foreach (QueryDS.FormViewRow l_drformview in l_dtformview) {
                    if (ExportSaleDataByFormID(l_drformview.FormID, logId)) {
                        UpdateFormbyID(l_drformview.FormID, true);
                        SuccessCount++;
                    } else {
                        UpdateFormbyID(l_drformview.FormID, false);
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);

                //market
                logId = logbll.InsertExportLog(5, FileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                l_dtformview = formquerybll.GetPagedFormView(" (Form.IsExportLock='false' or Form.IsExportLock is null)  AND Form.StatusID=2 AND Form.FormTypeID=42 AND  Form.FormID  in (select FormMarketingPaymentID from FormMarketingPayment where PaymentTypeID = 1)", 0, Int32.MaxValue, "SubmitDate");
                TotalCount = l_dtformview.Rows.Count;
                foreach (QueryDS.FormViewRow l_drformview in l_dtformview) {
                    if (ExportMarketingDataByFormID(l_drformview.FormID, logId)) {
                        UpdateFormbyID(l_drformview.FormID, true);
                        SuccessCount++;
                    } else {
                        UpdateFormbyID(l_drformview.FormID, false);
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);

                //RD
                logId = logbll.InsertExportLog(6, FileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                l_dtformview = formquerybll.GetPagedFormView(" Form.StatusID=2 and (Form.IsExportLock='false' or Form.IsExportLock is null)  AND Form.FormTypeID=32 AND Form.FormID in (select FormRDPaymentID from FormRDPayment where PaymentTypeID = 1)", 0, Int32.MaxValue, "SubmitDate");
                TotalCount = l_dtformview.Rows.Count;
                foreach (QueryDS.FormViewRow l_drformview in l_dtformview) {
                    if (ExportRDDataByFormID(l_drformview.FormID, logId)) {
                        UpdateFormbyID(l_drformview.FormID, true);
                        SuccessCount++;
                    } else {
                        UpdateFormbyID(l_drformview.FormID, false);
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);
                if (File.Exists(path + FileName)) {
                    File.Copy(path + FileName, BakPath + FileName.Split('.')[0] + DateTime.Now.ToString("yyyyMMdd") + "." + FileName.Split('.')[1], true);
                } else {
                    File.AppendAllText(path + FileName, "", Encoding.Default);
                }

                //Vendor
                FileName = ConfigurationManager.AppSettings["ExportService.VendorAVMFileName"];
                logId = logbll.InsertExportLog(8, FileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                MasterData.VendorDataTable tbVendor = new MasterDataBLL().GetVendorToExport();
                TotalCount = tbVendor.Rows.Count;
                foreach (MasterData.VendorRow vendor in tbVendor) {
                    if (ExportVendorAVM(vendor, logId)) {
                        SuccessCount++;
                    } else {
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);
                if (File.Exists(path + FileName))
                    File.Copy(path + FileName, BakPath + FileName.Split('.')[0] + DateTime.Now.ToString("yyyyMMdd") + "." + FileName.Split('.')[1], true);
                else
                    File.AppendAllText(path + FileName, "", Encoding.Default);
                //Vendor
                FileName = ConfigurationManager.AppSettings["ExportService.VendorAVMXFileName"];
                logId = logbll.InsertExportLog(8, FileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                tbVendor = new MasterDataBLL().GetAllVendor();
                TotalCount = tbVendor.Rows.Count;
                foreach (MasterData.VendorRow vendor in tbVendor) {
                    if (ExportVendorAVMX(vendor, logId)) {
                        SuccessCount++;
                    } else {
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);
                if (File.Exists(path + FileName))
                    File.Copy(path + FileName, BakPath + FileName.Split('.')[0] + DateTime.Now.ToString("yyyyMMdd") + "." + FileName.Split('.')[1], true);

                //PO
                string POFileName = ConfigurationManager.AppSettings["ExportService.POFileName"];
                string POLineFileName = ConfigurationManager.AppSettings["ExportService.POLineFileName"];
                logId = logbll.InsertExportLog(9, POFileName + " And " + POLineFileName, 0, 0, 0, 0);
                SuccessCount = 0;
                FailCount = 0;
                l_dtformview = formquerybll.GetPagedFormView(" Form.StatusID=2 and (Form.IsExportLock='false' or Form.IsExportLock is null)  AND Form.FormTypeID=23", 0, Int32.MaxValue, "SubmitDate");
                TotalCount = l_dtformview.Rows.Count;
                foreach (QueryDS.FormViewRow l_drformview in l_dtformview) {
                    PurchaseDS.FormPORow formPO = formPurchaseBLL.GetFormPOByID(l_drformview.FormID);
                    if (ExportPO(l_drformview.FormID, logId)) {
                        UpdateFormbyID(l_drformview.FormID, true);
                        SuccessCount++;
                    } else {
                        UpdateFormbyID(l_drformview.FormID, false);
                        FailCount++;
                    }
                }
                logbll.UpdateExportLog(logId, TotalCount, SuccessCount, FailCount);
                if (File.Exists(path + POFileName))
                    File.Copy(path + POFileName, BakPath + POFileName.Split('.')[0] + DateTime.Now.ToString("yyyyMMdd") + "." + POFileName.Split('.')[1], true);
                else
                    File.AppendAllText(path + POFileName, "", Encoding.Default);

                if (File.Exists(path + POLineFileName))
                    File.Copy(path + POLineFileName, BakPath + POLineFileName.Split('.')[0] + DateTime.Now.ToString("yyyyMMdd") + "." + POLineFileName.Split('.')[1], true);
                else
                    File.AppendAllText(path + POLineFileName, "", Encoding.Default);

            }
        }
Пример #5
0
 protected void gvApplyList_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "scrap") {
         int FormID = Int32.Parse(e.CommandArgument.ToString());
         FormDS.FormRow row = new FormTEBLL().GetFormByID(FormID)[0];
         if (row.StatusID != 2) {
             PageUtility.ShowModelDlg(this, "ֻ�������������״̬�ĵ��ݣ�");
             return;
         }
         string PaymentFormNo = new FormRDBLL().GetPaymentFormNoByRDApplyID(row.FormID);
         if (PaymentFormNo != "") {
             PageUtility.ShowModelDlg(this.Page, "���뵥�Ѿ��������������������Ϊ��" + PaymentFormNo);
             return;
         }
         new APFlowBLL().ScrapForm(FormID);
         gvApplyList.DataBind();
     }
 }