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

📄 updwlap.pas

📁 工廠採購管理系統
💻 PAS
📖 第 1 页 / 共 2 页
字号:
end;

procedure Tfrmpdwlap.RzBitBtn4Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
case n of
     1:
     begin
     frReport1.LoadFromFile(strpath+'/report/pdwlap_3.frf');
     frVariables['rq1']:=rq1;
     frVariables['rq2']:=rq2;
     end;
     2:
     begin
     frReport1.LoadFromFile(strpath+'/report/pdwlap_2.frf');
     frVariables['hthm']:=gdhm;
     end;
     3:
     begin
     frReport1.LoadFromFile(strpath+'/report/pdwlap.frf');
     frVariables['gcdh']:=gcdh;
     end;
end;
frVariables['username']:=username;
frreport1.DesignReport;
end;

procedure Tfrmpdwlap.TabSheet2Enter(Sender: TObject);
var
i:integer;
begin
gcdh:=gcdh1;
if gcdh='' then
   begin
   showmessage('没有指定工单号码');
   RzPageControl1.ActivePageIndex:=0;
   exit;
   end;    
if not adoquery1.Active then exit;
if adoquery1.Recordset.eof and adoquery1.Recordset.BOF then exit;

strsql:='select wldm,gysdm,sjkc,sykc,pym,wlsh from wldmk where wlmc='+''''+
trim(adoquery1.fieldbyname('物料名称').AsString)+
''''+' and wlys='+''''+trim(adoquery1.fieldbyname('颜色').AsString)+'''';
adoexect(adoquery4,strsql);

edit1.Text:=adoquery1.fieldbyname('需求量').AsString;
edit2.Text:=adoquery1.fieldbyname('已分配量').AsString;
editwldm.Text:=adoquery1.fieldbyname('物料代码').AsString;
editwlmc.Text:=adoquery1.fieldbyname('物料名称').AsString;
editwlys.Text:=adoquery1.fieldbyname('颜色').AsString;
editwlsh.Text:=adoquery1.fieldbyname('色号').AsString;
num1:=adoquery1.fieldbyname('需求量').Value;
num2:=adoquery1.fieldbyname('已分配量').Value;

strsql:='select gdhm,llqk_detail.wldm,wlmc,wlys,wlsh,dw,gysdm,xql,yfpsl from llqk_detail,wldmk '+
'where wldmk.wldm=llqk_detail.wldm and llqk_detail.hthm='+''''+gdhm+''''+' and llqk_detail.wldm='+''''+trim(editwldm.Text)+''''+
' order by gdhm asc';
adoexect(adoquery5,strsql);
treeview1.Enabled:=false;
edit2.SelectAll;
edit2.SetFocus;
end;

procedure Tfrmpdwlap.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in['0'..'9',#8] ) then
    key:=#0;
end;

procedure Tfrmpdwlap.RzBitBtn8Click(Sender: TObject);
var
num:longint;
begin
if trim(edit1.Text)='' then
   begin
   showmessage('需求量不能为空');
   edit1.SetFocus;
   exit;
   end;
if gcdh='' then
   begin
   showmessage('请选择工程单号');
   exit;
   end;
strsql:='select * from cgwl,cgwl_mail where cgwl_mail.cgxqdh=cgwl.cgxqdh and '+
'cgwl_mail.gdhm like '+''''+'%'+trim(gdhm)+'%'+''''+
' and wldm ='+''''+trim(editwldm.text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.BOF) then
   begin
   num:=adoquery3.fieldbyname('ykcl').Value+ adoquery3.fieldbyname('yssl').Value-adoquery3.fieldbyname('yfpsl').Value+num2;
   end else begin
   showmessage('数据库错误!此物料在需求库中不存在.');
   adoquery3.Close;
   exit;
   end;
if num<strtoint(edit2.Text) then
   begin
   showmessage('需求单尚无足够的数量来分配,库存只有'+inttostr(num));
   edit2.Text:=inttostr(num);
   exit;
   end;

strsql:='update llqk_detail set yfpsl='+edit2.Text+',xql='+trim(edit1.Text)+' where gdhm='+''''+
gcdh+''''+' and wldm='+''''+ trim(editwldm.text)+'''';
adodel(adoquery3,strsql);
if chang='佳盈' then                         //
   strsql:='update order_wlfp set yfpsl=yfpsl+'+edit2.Text+'-'+inttostr(num2)+',xql=xql+'+
   trim(edit1.Text)+'-'+inttostr(num1)+',good_yfpsl=good_yfpsl+'+edit2.Text+'-'+inttostr(num2)+
   ',good_xql=good_xql+'+trim(edit1.Text)+'-'+inttostr(num1)+',good_wlsl=good_wlsl+'+
   edit1.Text+'-'+inttostr(num1)+',wlsl=wlsl+'+edit1.Text+'-'+inttostr(num1)+' where gdhm='+''''+
   gdhm+''''+' and wldm='+''''+ trim(editwldm.text)+''''
else
   strsql:='update order_wlfp set yfpsl=yfpsl+'+edit2.Text+'-'+inttostr(num2)+',xql=xql+'+
   trim(edit1.Text)+'-'+inttostr(num1)+',let_yfpsl=let_yfpsl+'+edit2.Text+'-'+inttostr(num2)+
   ',let_xql=let_xql+'+trim(edit1.Text)+'-'+inttostr(num1)+',let_wlsl=let_wlsl+'+
   edit1.Text+'-'+inttostr(num1)+',wlsl=wlsl+'+edit1.Text+'-'+inttostr(num1)+' where gdhm='+''''+
   gdhm+''''+' and wldm='+''''+ trim(editwldm.text)+'''';
adodel(adoquery3,strsql);
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
adoquery5.Requery();
if adoquery5.RecordCount>1 then
RzPageControl1.ActivePageIndex:=1
else
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmpdwlap.RzBitBtn9Click(Sender: TObject);
begin
adoquery3.Close;
gcdh:='';
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmpdwlap.DBGrid1DblClick(Sender: TObject);
begin

RzPageControl1.ActivePageIndex:=1;
end;

procedure Tfrmpdwlap.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in['0'..'9',#8] ) then
    key:=#0;
end;

procedure Tfrmpdwlap.N1Click(Sender: TObject);
begin
if gcdh='' then
   begin
   showmessage('选择工程单号后,'+#10#13+'才能进行操作');
   exit;
   end;
if adoquery1.Recordset.eof and adoquery1.Recordset.BOF then exit;
strsql:='select * from cgwl,cgwl_mail where cgwl.cgxqdh=cgwl_mail.cgxqdh and '+
'gdhm like'+''''+'%'+gdhm+'%'+''''+' and wldm='+
        ''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
adoexect(adoquery3,strsql);
if (adoquery3.FieldByName('ykcl').value>0) or (adoquery3.FieldByName('jhsl').value>0) then
   begin
   showmessage('该物料已有安排,不能删除!');
   exit;
   end;
adoquery3.Close;
if messagebox(handle,'是否真的要删除该记录?','询问',mb_iconquestion+mb_yesno)=idyes then
   begin
   strsql:='update cgwl set yfpsl=yfpsl-'+adoquery1.fieldbyname('已分配量').AsString+
   ',xql=xql-'+adoquery1.fieldbyname('需求量').AsString+' from cgwl_mail where '+
   'cgwl.cgxqdh=cgwl_mail.cgxqdh and cgwl_mail.gdhm like '+''''+'%'+gdhm+'%'+''''+
   ' and cgwl.wldm='+''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
   adodel(adoquery3,strsql);
   if chang='佳盈' then
      strsql:='update order_wlfp set yfpsl=yfpsl-'+adoquery1.fieldbyname('已分配量').AsString+
      ',xql=xql-'+adoquery1.fieldbyname('需求量').AsString+',wlsl=wlsl-'+
      adoquery1.fieldbyname('需求量').AsString+',good_wlsl=good_wlsl-'+
      adoquery1.fieldbyname('需求量').AsString+',good_yfpsl=good_yfpsl-'+
      adoquery1.fieldbyname('已分配量').AsString+',good_xql=good_xql-'+
      adoquery1.fieldbyname('需求量').AsString+' where gdhm='+''''+gdhm+''''+
      ' and wldm='+''''+trim(adoquery1.fieldbyname('物料代码').AsString)+''''
   else
      strsql:='update order_wlfp set yfpsl=yfpsl-'+adoquery1.fieldbyname('已分配量').AsString+
      ',xql=xql-'+adoquery1.fieldbyname('需求量').AsString+',wlsl=wlsl-'+
      adoquery1.fieldbyname('需求量').AsString+',let_wlsl=let_wlsl-'+
      adoquery1.fieldbyname('需求量').AsString+',let_yfpsl=good_yfpsl-'+
      adoquery1.fieldbyname('已分配量').AsString+',let_xql=good_xql-'+
      adoquery1.fieldbyname('需求量').AsString+' where gdhm='+''''+gdhm+''''+
     ' and wldm='+''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
   adodel(adoquery3,strsql);
   strsql:='delete from llqk_detail where gdhm='+''''+gcdh+''''+' and wldm='+
   ''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
   adodel(adoquery3,strsql);
   strsql:='delete from cgwl where xql=0';
   adodel(adoquery3,strsql);
   strsql:='delete from order_wlfp where xql=0';
   adodel(adoquery3,strsql);
   adoquery1.Requery();
   adoquery3.Close;
end;

end;

procedure Tfrmpdwlap.N2Click(Sender: TObject);
begin
if gcdh='' then
  begin
  showmessage('没有选择工程单,该步骤必须选择工程单才能进行!');
  exit;
  end;
frmwllb.ShowModal;
if wldm='' then exit;
strsql:='select * from llqk_Detail where gdhm='+''''+gcdh+''''+' and wldm='+''''+
wldm+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.eof and adoquery3.Recordset.BOF) then
   begin
   showmessage('该物料在工单'+gcdh+'已经存在');
   exit;
   end;
strsql:='select ldrq,hthm from llqk_detail where gdhm='+''''+gcdh+'''';
adoexect(adoquery2,strsql);
adoquery3.Append;
adoquery3.FieldByName('gdhm').AsString:=gcdh;
adoquery3.FieldByName('hthm').AsString:=adoquery2.fieldbyname('hthm').asstring;
adoquery3.FieldByName('ylbm').AsString:=ylbm;
adoquery3.FieldByName('wldm').AsString:=wldm;
adoquery3.FieldByName('xql').AsString:='0';
adoquery3.FieldByName('ylsl').AsString:='0';
adoquery3.FieldByName('wlsl').AsString:='0';
adoquery3.FieldByName('yfpsl').AsString:='0';
adoquery3.FieldByName('sysl').AsString:='0';
adoquery3.FieldByName('chang').AsString:=chang;
adoquery3.FieldByName('ldrq').AsString:=adoquery2.fieldbyname('ldrq').asstring;
adoquery3.FieldByName('isok').Value:=1;
adoquery3.post;
adoquery2.close;
adoquery3.close;
adoquery1.requery();
end;

procedure Tfrmpdwlap.RzDBGrid2CellClick(Column: TColumn);
begin
if adoquery5.Recordset.EOF and adoquery5.Recordset.BOF then exit;
edit1.Text:=adoquery5.fieldbyname('xql').AsString;
edit2.Text:=adoquery5.fieldbyname('yfpsl').AsString;
editwldm.Text:=adoquery5.fieldbyname('wldm').AsString;
editwlmc.Text:=adoquery5.fieldbyname('wlmc').AsString;
editwlys.Text:=adoquery5.fieldbyname('wlys').AsString;
editwlsh.Text:=adoquery5.fieldbyname('wlsh').AsString;
gcdh1:=trim(adoquery5.fieldbyname('gdhm').AsString);
num1:=adoquery5.fieldbyname('xql').Value;
num2:=adoquery5.fieldbyname('yfpsl').Value;
edit2.SetFocus;
edit2.SelectAll;
end;

procedure Tfrmpdwlap.TabSheet1Enter(Sender: TObject);
begin
treeview1.Enabled:=true
end;

procedure Tfrmpdwlap.Edit3Change(Sender: TObject);
begin
if trim(edit3.Text)='' then
   begin
   adoquery1.Filtered:=false;
   exit;
   end;
adoquery1.Filtered:=true;
adoquery1.Filter:='物料名称 like '+''''+'%'+trim(edit3.Text)+'%'+'''';
if adoquery1.Recordset.EOF and adoquery1.Recordset.BOF then
   begin
   adoquery1.Filtered:=true;
   adoquery1.Filter:='拼音码 like '+''''+trim(edit3.Text)+'%'+''''+
   ' or 物料代码='+''''+trim(edit3.Text)+'''';
   end;
end;

procedure Tfrmpdwlap.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#27 then
   begin
   GroupBox2.Visible:=false;
   treeview1.Enabled:=true;
   end;
end;

procedure Tfrmpdwlap.N3Click(Sender: TObject);
begin
GroupBox2.Visible:=true;
treeview1.Enabled:=false;
edit3.SetFocus;
end;

procedure Tfrmpdwlap.DBGridEh1CellClick(Column: TColumnEh);
begin
if adoquery5.Recordset.eof and adoquery5.Recordset.BOF then exit;
edit1.Text:=adoquery5.fieldbyname('xql').AsString;
edit2.Text:=adoquery5.fieldbyname('yfpsl').AsString;
num1:=adoquery5.fieldbyname('xql').Value;
num2:=adoquery5.fieldbyname('yfpsl').value;
gcdh:=trim(adoquery5.fieldbyname('gdhm').AsString);
edit2.SetFocus;
end;

procedure Tfrmpdwlap.Edit2DblClick(Sender: TObject);
begin
edit2.Text:=trim(edit1.text);
end;

procedure Tfrmpdwlap.DBGrid1TitleClick(Column: TColumn);
begin
dgridpx(adoquery1,DBGrid1,Column);
end;

procedure Tfrmpdwlap.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
if adoquery1.FieldByName('需求量').Value > adoquery1.FieldByName('已分配量').Value then
   begin
   dbgrid1.Canvas.Brush.Color:=clYellow;
   end;
if adoquery1.FieldByName('需求量').Value =0 then
   begin
   dbgrid1.Canvas.Brush.Color:=clred;
   end;
   //dbgrid1.DefaultDrawColumnCell(rect,datacol,column,[gdfixed,gdfocused,gdselected]);
end;

end.

⌨️ 快捷键说明

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