Дипломная работа: Автоматизация документооборота материально-технического оборудования ОАО "ЗИД" Завод имени Дегтярева

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
95
if (cbFrom.Items.Count > 0 && cbFrom.SelectedIndex >= 0)
try
{
sb = new StringBuilder();
xml = new StringBuilder();
fname = string.Format("{0}{1}", Application.StartupPath +
"\\RPT\\", FI[cbFrom.SelectedIndex].Name);
using (StreamReader sr = new StreamReader(fname,
Encoding.GetEncoding(1251)))
{
xml.Append(sr.ReadToEnd());
}
s = xml.ToString();
DTL = null; // -- нет поштучного раздела --
HN = s.IndexOf("[BeginDetail]");
if (HN >= 0)
{
HK = s.IndexOf("[EndDetail]");
if (HK >= 0)
{
HN = HN + 13;
DTL = s.Substring(HN, HK - HN);
xml.Remove(HN, HK - HN);
}
}
NV = NameValue.GetNewDTLNV(xml.ToString()); //
Списокзамінголовноїчастинизвіту
NameValue.SetValue(ref NV, "[DDoc]", string.Format("<Data
ss:Type=\"DateTime\">{0}</Data>", DTR.Value.Value.ToString("yyyy-MM-dd")));
NameValue.SetValue(ref NV, "[NDoc]", string.Format("{0}",
EName.Text));
NameValue.SetValue(ref NV, "[ChoSpisano]",
string.Format("{0}", EChoSpis.Text));
NameValue.SetValue(ref NV, "[ChoName]", string.Format("{0}",
EChoName.Text));
NameValue.SetValue(ref NV, "[ChoKod]", string.Format("{0}",
EChoKod.Text));
RC = dsA.Tables["skl_MH"].Rows.Find(Id_Fr);
if (RC != null)
{
NameValue.SetValue(ref NV, "[FrName]",
RC["MHName"].ToString());
NameValue.SetValue(ref NV, "[FrKod]",
RC["MHKod"].ToString());
}
96
RC = dsA.Tables["skl_MH"].Rows.Find(Id_MH);
if (RC != null)
{
NameValue.SetValue(ref NV, "[MHName]",
RC["MHName"].ToString());
NameValue.SetValue(ref NV, "[MHKod]",
RC["MHKod"].ToString());
}
RC = dsA.Tables["skl_US"].Rows.Find(Id_Sdal);
if (RC != null)
{
NameValue.SetValue(ref NV, "[SdalName]",
RC["USName"].ToString());
NameValue.SetValue(ref NV, "[SdalMOL]",
RC["KodMOL"].ToString());
NameValue.SetValue(ref NV, "[SdalTN]",
RC["TabNom"].ToString());
NameValue.SetValue(ref NV, "[SdalDolg]",
RC["Dolg"].ToString());
}
RC = dsA.Tables["skl_US"].Rows.Find(Id_Prin);
if (RC != null)
{
NameValue.SetValue(ref NV, "[PrinName]",
RC["USName"].ToString());
NameValue.SetValue(ref NV, "[PrinMOL]",
RC["KodMOL"].ToString());
NameValue.SetValue(ref NV, "[PrinTN]",
RC["TabNom"].ToString());
NameValue.SetValue(ref NV, "[PrinDolg]",
RC["Dolg"].ToString());
}
if (string.IsNullOrEmpty(DTL)) // --- без Detail ---
{
Npp = 1;
RC = dsOS.Tables["skl_OS"].Rows[0];
NameValue.SetValue(ref NV, "[Npp]", string.Format("<Data
ss:Type=\"Number\">{0}</Data>", Npp));
NameValue.SetValue(ref NV, "[OSName]", RC["OSName"]);
NameValue.SetValue(ref NV, "[Coment]", RC["Coment"]);
NameValue.SetValue(ref NV, "[INom]", RC["INom"]);
zz = RC["NNom"].ToString().Trim();
NameValue.SetValue(ref NV, "[NNom]", zz);
if (zz.Length > 3) NameValue.SetValue(ref NV, "[NNomGr]",
RC["NNom"].ToString().Substring(1, 4));
if (zz.Length > 5) NameValue.SetValue(ref NV, "[NNomPg]",
RC["NNom"].ToString().Substring(5, 2));
97
if (zz.Length > 7) NameValue.SetValue(ref NV, "[NNomMk]",
RC["NNom"].ToString().Substring(7));
NameValue.SetValue(ref NV, "[ZNom]", RC["ZNom"]);
NameValue.SetValue(ref NV, "[InDat]", string.Format("<Data
ss:Type=\"DateTime\">{0}</Data>",
IPY_Util.Int2Dat((int)RC["ZDat"]).ToString("yyyy-MM-dd")));
NameValue.SetValue(ref NV, "[ZDat]", string.Format("<Data
ss:Type=\"DateTime\">{0}</Data>",
IPY_Util.Int2Dat((int)RC["ZDat"]).ToString("yyyy-MM-dd")));
NameValue.SetValue(ref NV, "[Cnt]", string.Format("<Data
ss:Type=\"Number\">{0}</Data>", (int)RC["Cnt"]));
NameValue.SetValue(ref NV, "[Stoim]", string.Format("<Data
ss:Type=\"Number\">{0}</Data>", ((decimal)RC["Stoim"]).ToString("0.00",
Program.CIDot)));
NameValue.SetValue(ref NV, "[Suma]", string.Format("<Data
ss:Type=\"Number\">{0}</Data>", ((decimal)RC["Stoim"] *
(int)RC["Cnt"]).ToString("0.00", Program.CIDot)));
for (int x = 0; x < dsOS.Tables["skl_OSMet"].Rows.Count; x++)
{
RX = dsOS.Tables["skl_OSMet"].Rows[x];
m = 0;
if (!RX.IsNull("Masa")) m = (decimal)RX["Masa"];
NameValue.SetValue(ref NV
, string.Format("[Masa{0}]", RX["Id_DM"].ToString())
, string.Format("<Data ss:Type=\"Number\">{0}</Data>",
m.ToString("0.######", Program.CIDot)));
}
}
else // --- Detail ---
{
T = new xTables.tOSMet_01();
dtl = new StringBuilder();
for (int n = 0; n < dsOS.Tables["skl_OS"].Rows.Count; n++)
{
RC = dsOS.Tables["skl_OS"].Rows[n];
ND = NameValue.GetNewDTLNV(DTL); //
Списокзамінтабличноїчастинизвіту
NameValue.SetValue(ref ND, "[Npp]", string.Format("<Data
ss:Type=\"Number\">{0}</Data>", n+1));
NameValue.SetValue(ref ND, "[OSName]", RC["OSName"]);
NameValue.SetValue(ref ND, "[Coment]", RC["Coment"]);
NameValue.SetValue(ref ND, "[INom]", RC["INom"]);
zz = RC["NNom"].ToString().Trim();
NameValue.SetValue(ref ND, "[NNom]", zz);
if (zz.Length > 3) NameValue.SetValue(ref ND, "[NNomGr]",
RC["NNom"].ToString().Substring(1, 4));
98
if (zz.Length > 5) NameValue.SetValue(ref ND, "[NNomPg]",
RC["NNom"].ToString().Substring(5, 2));
if (zz.Length > 7) NameValue.SetValue(ref ND,
"[NNomMk]", RC["NNom"].ToString().Substring(7));
NameValue.SetValue(ref ND, "[ZNom]", RC["ZNom"]);
NameValue.SetValue(ref ND, "[InDat]",
string.Format("<Data ss:Type=\"DateTime\">{0}</Data>",
IPY_Util.Int2Dat((int)RC["ZDat"]).ToString("yyyy-MM-dd")));
NameValue.SetValue(ref ND, "[ZDat]", string.Format("<Data
ss:Type=\"DateTime\">{0}</Data>",
IPY_Util.Int2Dat((int)RC["ZDat"]).ToString("yyyy-MM-dd")));
NameValue.SetValue(ref ND, "[Cnt]", string.Format("<Data
ss:Type=\"Number\">{0}</Data>", (int)RC["Cnt"]));
NameValue.SetValue(ref ND, "[Stoim]",
string.Format("<Data ss:Type=\"Number\">{0}</Data>",
((decimal)RC["Stoim"]).ToString("0.00", Program.CIDot)));
NameValue.SetValue(ref ND, "[Suma]",
string.Format("<Data ss:Type=\"Number\">{0}</Data>", ((decimal)RC["Stoim"] *
(int)RC["Cnt"]).ToString("0.00", Program.CIDot)));
NameValue.SetValue(ref ND, "[ChoName]",
string.Format("{0}", EChoName.Text));
NameValue.SetValue(ref ND, "[ChoKod]",
string.Format("{0}", EChoKod.Text));
dsOS.taOM.FillByStrFLTR(T
, string.Format("Id_OS={0}",RC["Id_OS"])
, "Id_DM");
for (int x = 0; x < T.Rows.Count; x++)
{
RX = T.Rows[x];
m = 0;
if (!RX.IsNull("Masa")) m = (decimal)RX["Masa"];
NameValue.SetValue(ref ND
, string.Format("[Masa{0}]", RX["Id_DM"].ToString())
, string.Format("<Data
ss:Type=\"Number\">{0}</Data>", m.ToString("0.######", Program.CIDot)));
}
s = DTL;
IPY_Util.RTFParseS(ref s, false, ND);
IPY_Util.RTFParseS(ref s, true, NV);
dtl.AppendLine(s);
}
if (dtl.Length == 0)
{
s = DTL;
IPY_Util.RTFParseS(ref s, true, NV);
dtl.AppendLine(DTL);
}
99
s = xml.ToString().Replace("[BeginDetail]", dtl.ToString());
}
IPY_Util.RTFParseS(ref s, true, NV);
xml.Length = 0;
xml.Append(s);
fname = string.Format("{0}{1}", Application.StartupPath +
"\\OUT\\", FI[cbFrom.SelectedIndex].Name);
StreamWriter F = new StreamWriter(fname, false,
Encoding.GetEncoding("windows-1251"));
F.Write(xml.ToString());
F.Close();
IPY_Util.YNBox(string.Format(Properties.Resources.ResourceManager.GetString("E
x_FileSaved"), fname));
System.Diagnostics.Process.Start(fname);
}
catch (Exception ex)
{
IPY_Util.YNBox(string.Format(" {0}: {1}",
Properties.Resources.ResourceManager.GetString("pb_Error"), ex.Message));
}
}
}
}
namespace Sklad
{
partial class eAktPU
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be
disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
Источник: https://baza.diplomsite.ru/previewfile/1716