⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cljccx.~pas

📁 仓库管理信息系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit cljccx;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGridEh, Mask, DBCtrlsEh, DBLookupEh, Spin, StdCtrls,
  DBCtrls, ExtCtrls, ComCtrls, StdActns, ActnList, ActnMan, Menus, PrnDbgeh,
  DBGridEhImpExp;
type
  Tcljccxfrm = class(TForm)
    GroupBox1: TGroupBox;
    Label8: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Panel1: TPanel;
    DBNavigator1: TDBNavigator;
    Button1: TButton;
    Button2: TButton;
    slxx1: TComboBox;
    slcb1: TComboBox;
    sled1: TSpinEdit;
    sled2: TSpinEdit;
    slcb2: TComboBox;
    slxx2: TComboBox;
    dblkbox: TDBLookupComboboxEh;
    DBGridEh1: TDBGridEh;
    GroupBox2: TGroupBox;
    Button3: TButton;
    DBNavigator2: TDBNavigator;
    stb: TStatusBar;
    Label3: TLabel;
    Label4: TLabel;
    speyf: TSpinEdit;
    spenf: TSpinEdit;
    ProgressBar1: TProgressBar;
    Button4: TButton;
    SaveDialog1: TSaveDialog;
    MYPDBGEh: TPrintDBGridEh;
    PopupMenu1: TPopupMenu;
    N2: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    PrintSetup1: TMenuItem;
    N1: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    ActionManager1: TActionManager;
    EditCut1: TEditCut;
    EditCopy1: TEditCopy;
    EditPaste1: TEditPaste;
    EditDelete1: TEditDelete;
    FilePrintSetup1: TFilePrintSetup;
    FontEdit1: TFontEdit;
    ColorSelect1: TColorSelect;
    PrintDlg1: TPrintDlg;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FontEdit1Accept(Sender: TObject);
    procedure PrintSetup1Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
  private
    { Private declarations }
  public
    syjcb,dyjcb:string;
    date1,date2:tdate;
    year,month,day:Word;
    SL: TStrings;
    I: Integer;
    s:string;
    { Public declarations }
  end;

var
  cljccxfrm: Tcljccxfrm;

implementation
uses data, main;
{$R *.dfm}

procedure Tcljccxfrm.FormCreate(Sender: TObject);
begin
decodedate(now,year,month,day);
if month=1 then
begin
  Date1:=EncodeDate(Year-1,12,26);
  Date2:=EncodeDate(Year,1,25);
end
else
begin
  Date1:=EncodeDate(Year,Month-1,26);
  Date2:=EncodeDate(Year,Month,25);
end;
dm.whcllxdmads.Open;
dm.whclbmads.Close;
dm.whclbmads.CommandText:='select * from CLDMB where 仓库ID='+''''+mainfrm.CKid+'''';
dm.whclbmads.Open;
spenf.Text:=inttostr(year);
speyf.Text:=inttostr(month);
if month=1 then
  syjcb:='jcb'+trim(inttostr(year-1))+'12'
else
  syjcb:='jcb'+trim(spenf.Text)+trim(inttostr(month-1));
dyjcb:='jcb'+trim(spenf.Text)+trim(speyf.Text);
SL := TStringList.Create;
  DM.ADOCn.GetTableNames(SL, False); //取得表名
  if sl.IndexOf(dyjcb)=-1 then
  begin
    showmessage(spenf.Text+'年'+speyf.Text+'月的结存表不存在...');
    dm.cxjcbads.Close;
  end
  else
  begin
    dm.cxjcbads.Close;
    dm.cxjcbads.CommandText:='select * from '+dyjcb+' where 仓库ID='+''''+mainfrm.CKid+'''';
    dm.cxjcbads.Open;
  end
end;

procedure Tcljccxfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SL.Free;
action:=cafree;
cljccxfrm:=nil;
end;

procedure Tcljccxfrm.Button2Click(Sender: TObject);
var sxtj,sxtjtx:string;
begin
sxtj:='';
if trim(edit1.Text)<>'' then
   sxtj:='材料编码 like %'+trim(edit1.Text)+'%';
if slxx1.ItemIndex>0 then
  if sxtj<>'' then
     sxtj:=sxtj+' and '+slxx1.Text+slcb1.Text+sled1.Text
   else
     sxtj:=slxx1.Text+slcb1.Text+sled1.Text;
if slxx2.ItemIndex>0 then
  if sxtj<>'' then
     sxtj:=sxtj+' and '+slxx2.Text+slcb2.Text+sled2.Text
   else
     sxtj:=slxx2.Text+slcb2.Text+sled2.Text;
if (dblkbox.KeyValue<>'') and
   (dblkbox.KeyValue<>null) then 
   if sxtj<>'' then
     sxtj:=sxtj+' and 类型ID='+''''+dblkbox.KeyValue+''''
   else
     sxtj:='类型ID='+''''+dblkbox.KeyValue+'''';  
dm.cxjcbads.Filtered:=false;
if trim(sxtj)<>'' then
begin
  dm.cxjcbads.Filter:=sxtj;
  dm.cxjcbads.Filtered:=true;
end;
sxtjtx:=sxtj;
sxtjtx:=StringReplace(sxtjtx,'and','以及',[rfReplaceAll]);
sxtjtx:=StringReplace(sxtjtx,'like %','包含"',[rfReplaceAll]);
sxtjtx:=StringReplace(sxtjtx,'%','"',[rfReplaceAll]);
sxtjtx:='查询条件:'+sxtjtx;
stb.SimpleText:=sxtjtx;
end;


procedure Tcljccxfrm.Button1Click(Sender: TObject);
begin
close;
end;

procedure Tcljccxfrm.Button3Click(Sender: TObject);
begin
ProgressBar1.Visible:=true;
year:=strtoint(spenf.Text);
month:=strtoint(speyf.Text);
if month=1 then
begin
  Date1:=EncodeDate(Year-1,12,26);
  Date2:=EncodeDate(Year,1,25);
end
else
begin
  Date1:=EncodeDate(Year,Month-1,25);
  Date2:=EncodeDate(Year,Month,26);
end;
if month=1 then
  syjcb:='jcb'+trim(inttostr(year-1))+'12'
else
  syjcb:='jcb'+trim(spenf.Text)+trim(inttostr(month-1));
dyjcb:='jcb'+trim(spenf.Text)+trim(speyf.Text);
//dm.whjbsjads.Open;
//if dm.whjbsjads.FieldByName('年份').IsNull or 
//   dm.whjbsjads.FieldByName('月份').IsNull then 
//begin    //取初始数量
//  if MessageDlg('到目前止,你还未处理过结存表,是否从今月起开始处理 ?', mtConfirmation,
//    [mbYes, mbNo], 0) = mrno then
//    abort
//  else
//    begin
  if sl.IndexOf(dyjcb)=-1 then
      dm.ADOCN.Execute('CREATE TABLE '+ dyjcB +'( '+
	'[材料编码] [char] (14) NOT NULL ,'+
	'[材料名称] [char] (26) NOT NULL ,'+
	'[单位] [char] (4) NULL ,'+
	'[材料规格] [char] (16) NULL ,'+
	'[类型ID] [char] (4) NOT NULL ,'+
	'[仓库ID] [char] (4) NOT NULL ,'+
	'[上月结存] [int] default 0 NULL ,'+
	'[上月单价] [money]  default 0 NULL ,'+
	'[上月金额] [money]  default 0 NULL ,'+
	'[进仓数量] [int]  default 0 NULL ,'+
	'[进仓单价] [money]  default 0 NULL ,'+
	'[进仓金额] [money]  default 0 NULL ,'+
	'[出仓数量] [int]  default 0 NULL ,'+
	'[出仓单价] [money]  default 0 NULL ,'+
	'[出仓金额] [money]  default 0 NULL ,'+
	'[本月结存] [int]  default 0 NULL ,'+
	'[结存单价] [money]  default 0 NULL ,'+
	'[结存金额] [money]  default 0 NULL ,'+
	'[实际结存] [int]  default 0 NULL ,'+
	'[实际金额] [money]  default 0 NULL)');
//       dm.whjbsjads.FieldByName('年份').Value:=trim(spenf.Text);
//       dm.whjbsjads.FieldByName('月份').Value:=trim(speyf.Text); 
//    end;
//end
//else
//begin
  ProgressBar1.StepIt;
  dm.ADOCN.Execute('insert '+dyjcb+'(材料编码,材料名称,单位,'+
  '材料规格,类型ID,仓库ID) select 材料编码,材料名称,单位,'+
  '材料规格,类型ID,仓库ID from (select cldmb.材料编码,'+
  'cldmb.材料名称,cldmb.单位,cldmb.材料规格,cldmb.类型ID,'+
  'cldmb.仓库ID,'+dyjcb+'.材料编码 as jcbdm from cldmb full JOIN '+
  dyjcb +' on cldmb.材料编码='+dyjcb+'.材料编码) as newdm '+
  'where newdm.jcbdm is null');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -